如何将sql限制中的AVG函数的小数位仅限制为2?

PiD*_*iDO 15 mysql

我想将平均值的小数限制为2 ..

SELECT grade.GStudNo, AVG(grade.Grade) AS Average, students.LName, students.FName, students.MName, students.Course
FROM students INNER JOIN grade ON students.StudNo = grade.GStudNo
WHERE GSem = '$sem' AND GYear = '$year'
GROUP BY grade.GStudNo
ORDER BY Average ASC LIMIT 3
Run Code Online (Sandbox Code Playgroud)

Dhr*_*hak 41

SELECT grade.GStudNo, ROUND( AVG(grade.Grade),2 ) AS Average, students.LName, students.FName, students.MName, students.Course
FROM students INNER JOIN grade ON students.StudNo = grade.GStudNo
WHERE GSem = '$sem' AND GYear = '$year'
GROUP BY grade.GStudNo
ORDER BY Average ASC LIMIT 3
Run Code Online (Sandbox Code Playgroud)

将它绕到两个地方.


Ran*_*ndy 13

使用该ROUND函数包装AVG计算...


Álv*_*ero 5

也许您正在寻找这个:

SELECT grade.GStudNo, CAST(AVG(grade.Grade) AS DECIMAL(10,2)) AS Average, students.LName, students.FName, students.MName, students.Course
FROM students INNER JOIN grade ON students.StudNo = grade.GStudNo
WHERE GSem = '$sem' AND GYear = '$year'
GROUP BY grade.GStudNo
ORDER BY Average ASC LIMIT 3
Run Code Online (Sandbox Code Playgroud)

这只能得到2位小数

CAST(AVG(grade.Grade) AS DECIMAL(10,2))
Run Code Online (Sandbox Code Playgroud)