使用 sql 和 php 按周获取数据

Get data by week with sql and php

我有一个问题,我不知道该怎么做。请帮我出个主意。所以我有一个 table : 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

谢谢四位你的帮助

嗯,如果 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 周组合在一起。如果不可能,请将其从查询中排除。