ID によって実行されるタスクに関するさまざまな情報を記録するテーブルがあります。テーブルは次のようになります。
IDマーク ------日付 1 50 -----2012 年 3 月 8 日 1 60 -----2012/07/01 2 40 -----2012 年 5 月 8 日 2 50 -----2012 年 2 月 7 日 ....など
私がやりたいことは、次のような結果を得ることです:
ID Marks_In_Jul ---Marks_In_Aug 1 -------60 ------50 2 -------50 ------40
....など (必要に応じて、列を月、週、日に分割できます)
これを行うことで、これを手動で行うことができます:
SELECT
id,
sum(if(date BETWEEN '2011-07-01' AND '2011-07-31', mark,0)) as Marks_In_Jul,
sum(if(date BETWEEN '2011-08-01' AND '2011-08-31', mark,0)) as Marks_In_Aug,
...
GROUP BY id;
.... etc
しかし、これはすべて手動であり、週に絞り込みたい場合は、日付を手動で変更するのに時間がかかります(そして、日によってはほとんど不可能です)
MySQLである種のループまたは同様のものを作成する方法はありますか?ここで、開始/終了値と必要な日数(1、7、または30など)を変更できます。
ありがとう、ドン