使用sql和php

时间:2016-06-07 14:54:29

标签: php mysql sql php-5.3 php-5.6

我有问题,我不知道该怎么做。请帮我一个主意。所以我有一个表:test,列:

id        begin                    end     
1       2016-06-06 15:30:30     2016-06-08 16:40:40

现在我需要按周计算id 结果必须是: 例如,如果本周是我需要获得的第6周:

Week           count
 4               10
 5               10
 6               12
 7               19
 8               27

这四个你帮忙

1 个答案:

答案 0 :(得分:1)

那么,如果begin是第4周,而end是第5周,会发生什么?计算哪一周?

无论如何,如果我理解你,你想要前两周和未来两周:

SELECT s.* FROM (
    SELECT YEAR(`start`) as year_col,WEEK(`start`) as week_col,count(*)
    FROM YourTable t
    GROUP BY year_col,week_col) s
WHERE s.week_col between WEEK(now())-2 and WEEK(now())+2

我还加入了考虑的年份,因为从2015年开始的第4周将与2016年的第4周一起组合。如果不可能,请将其从查询中排除。