我正在研究高中评分系统。
在我的学校,可以通过重新处理问题来更改成绩,并将这些更改与日期一起存储。
我有一个正确返回平均值的函数,因为最近的成绩标记为“当前”字段,值为“1”。我想使该功能能够返回与过去相关的最新等级。我正在绘制他们的平均值随时间变化的图表。
我想做的是这样的事情:
select sum(grades.points)
from grades
where date < 'thedate'
order by date DESC
group by assignmentID
我不能使用sum和group by。它错了......
我能想到的最好的是做一个子选择。还有其他想法吗?
答案 0 :(得分:26)
GROUP BY必须在ORDER BY之前:
SELECT SUM(g.points)
FROM GRADES g
WHERE g.date < 'thedate'
GROUP BY g.assignmentid
ORDER BY g.date DESC
答案 1 :(得分:-4)
试试这个:
SELECT cat_name, SUM(amount) AS total_amount
FROM table
GROUP BY cat_name