我有一张表,其中记录了有关由 ID 完成的任务的各种信息。该表如下所示:
身份证号-----日期 1 50 -----03/08/2012 1 60 -----2012 年 1 月 7 日 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 等......)
谢谢你,唐