web-dev-qa-db-ja.com

MYSQL SUM GROUP BY

私は高校の成績評価システムに取り組んでいます。

私の学校では、問題をやり直すことで成績を変更することができ、これらの変更を日付とともに保存します。

最新の成績には値「1」の「現在の」フィールドのフラグが付けられているため、平均を適切に返す関数があります。過去の日付について最新の成績を返すことができる関数にしたいのですが。私は彼らの平均が時間とともにどのように変化したかについてのグラフを作成しています。

私がやりたいのは次のようなものです。

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

Sumとgroupbyは使用できません。エラー...

私が考えることができる最善のことは、副選択を行うことです。他に何か考えはありますか?

11
Stephane

GROUPBYはORDERBYの前に来る必要があります:

  SELECT SUM(g.points) 
    FROM GRADES g
   WHERE g.date < 'thedate' 
GROUP BY g.assignmentid
ORDER BY g.date DESC 
29
OMG Ponies