MYSQL SUM GROUP BY

时间:2009-10-21 04:20:43

标签: sql mysql group-by sum

我正在研究高中评分系统。

在我的学校,可以通过重新处理问题来更改成绩,并将这些更改与日期一起存储。

我有一个正确返回平均值的函数,因为最近的成绩标记为“当前”字段,值为“1”。我想使该功能能够返回与过去相关的最新等级。我正在绘制他们的平均值随时间变化的图表。

我想做的是这样的事情:

select sum(grades.points) 
  from grades 
 where date < 'thedate' 
order by date DESC 
group by assignmentID

我不能使用sum和group by。它错了......

我能想到的最好的是做一个子选择。还有其他想法吗?

2 个答案:

答案 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