我在 MySQL 中发现了一些舍入错误。这是我的查询:
SELECT /*debugz*/ ROUND((SUM(grade)/2),0) AS grade, SUM(grade) FROM entry.computed_grade a WHERE a.stud_id='7901159' AND a.sy='2014' AND a.term=01 AND a.terms=01 AND a.catalog_no='Christian Life Formation';
结果是这样的:
grade sum(grade)
------ ------------
92 185
成绩结果应该是 93,而不是 92,因为 185/2 = 92.5
最佳答案
试试这个
SELECT CEIL((SUM(grade)/2),0) AS 成绩,SUM(grade) FROM entry.compulated_grade a WHERE ((a.stud_id='7901159') AND (a .sy='2014') AND (a.term=01) AND (a.terms=01) AND (a.catalog_no='基督教生命形成'));
关于MySQL 奇怪的四舍五入结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22727414/