0

我有一张表,其中记录了有关由 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 等......)

谢谢你,唐

4

0 回答 0