11

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

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

我有一个函数可以正确返回平均值,因为最近的成绩被标记为“当前”字段,值为“1”。我想让函数能够返回关于过去日期的最新成绩。我正在绘制他们的平均值如何随时间变化的图表。

我想做的是这样的:

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

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

我能想到的最好的方法是进行子选择。还有其他想法吗?

4

2 回答 2

30

GROUP BY 必须在 ORDER BY 之前:

  SELECT SUM(g.points) 
    FROM GRADES g
   WHERE g.date < 'thedate' 
GROUP BY g.assignmentid
ORDER BY g.date DESC 
于 2009-10-21T04:24:19.790 回答
-8

试试这个:

SELECT cat_name, SUM(amount) AS total_amount
FROM table
GROUP BY cat_name
于 2012-10-19T11:29:11.107 回答