我有一个表格,记录有关ID完成的任务的各种信息。 该表看起来像:
ID Mark ------Date 1 50 -----03/08/2012 1 60 -----01/07/2012 2 40 -----05/08/2012 2 50 -----02/07/2012 .... etc
我想做的是,结果如下:
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等......)
谢谢你, 唐