使用 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 周组合在一起。如果不可能,请将其从查询中排除。
我有一个问题,我不知道该怎么做。请帮我出个主意。所以我有一个 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 周组合在一起。如果不可能,请将其从查询中排除。