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

时间:2011-03-15 18:13:19

标签: 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

3 个答案:

答案 0 :(得分: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

将它绕到两个地方。

答案 1 :(得分:13)

使用ROUND函数包装AVERAGE计算...

答案 2 :(得分:3)

也许您正在寻找这个:

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

这只能得到2个小数位

CAST(AVG(grade.Grade) AS DECIMAL(10,2))