Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
select语句中的MySQL循环?_Mysql_Select_Loops_Split - Fatal编程技术网

select语句中的MySQL循环?

select语句中的MySQL循环?,mysql,select,loops,split,Mysql,Select,Loops,Split,我有一个表,它记录了关于IDs完成的任务的各种信息。 该表如下所示: ID Mark ------Date 1 50 -----03/08/2012 1 60 -----01/07/2012 2 40 -----05/08/2012 2 50 -----02/07/2012 .... etc 但这都是手工操作的,如果我想把时间缩小到几周,手动更改日期需要时间(而且几乎不可能在一天之内完成) 有没有一种方法可以在MySQL中进行某种循环或类似的操作,我可以在几天内(1、7或

我有一个表,它记录了关于IDs完成的任务的各种信息。 该表如下所示:

ID Mark ------Date 1 50 -----03/08/2012 1 60 -----01/07/2012 2 40 -----05/08/2012 2 50 -----02/07/2012 .... etc 但这都是手工操作的,如果我想把时间缩小到几周,手动更改日期需要时间(而且几乎不可能在一天之内完成)

有没有一种方法可以在MySQL中进行某种循环或类似的操作,我可以在几天内(1、7或30等)更改开始/结束值和所需的间隔

谢谢,,
不要使用存储过程:您可以将这些日期作为输入参数。关于透视表,请选中:和 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