我有问题,我不知道该怎么做。请帮我一个主意。所以我有一个表: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
这四个你帮忙
答案 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周一起组合。如果不可能,请将其从查询中排除。