2016-06-07 73 views
1

我有一个问题,我不知道该怎么做。请帮助我一个想法。所以我有一个表:test,与列:通过sql和php获取数据周

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 

THX 4你帮

+0

你应该更好地解释预期的结果。 –

+0

如果当前的星期是6我需要从表''测试''的周计数'4,5,6,7,8' –

+0

仍然不清楚 – jophab

回答

1

好吧,如果begin是4周会发生什么,以及end为5星期?哪一周是计算的?

无论如何,如果我理解你,你希望两个前周和2周的未来:

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

+1

你是最好的 –

+0

如何显示'第7周计数0 “如果这个星期没有数据? –

+0

这是一个完全不同的问题伴侣.. @hareacosticla – sagi