2009-10-21 275 views
4

我正在研究高中等級系統。MYSQL SUM GROUP BY

在我的學校,成績可以通過修改問題來改變,我將這些更改與日期一起存儲。

我有一個正確返回平均值的函數,因爲最近的等級被標記爲值爲'1'的「當前」字段。我希望使函數能夠返回過去某個日期的最新成績。我正在繪製他們的平均值隨時間變化的圖表。

我希望做的是這樣的:

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

我不能使用總和組。它錯誤...

我能想到的最好的辦法是做一個子選擇。任何其他想法?

回答

20

GROUP BY必須來之前ORDER BY:

SELECT SUM(g.points) 
    FROM GRADES g 
    WHERE g.date < 'thedate' 
GROUP BY g.assignmentid 
ORDER BY g.date DESC 
-3

試試這個:

SELECT cat_name, SUM(amount) AS total_amount 
FROM table 
GROUP BY cat_name 
+0

你在哪裏看到關於這個問題的任何 「量」? o_O –

+3

他複製並直接從另一個問題粘貼一個答案:http://stackoverflow.com/questions/6105767/mysql-group-by-sum – beterthanlife