日期:2014-05-17  浏览次数:20424 次

求一条按周统计的语句,要区分年.
请教如何统计表中2009年到2013年每周的数据?

要求数据格式如下


周                  注册人数
2009第一周       10
2009第二周       5
2009第三周       1
...
...
2013第一周       20
2013第二周       15
周统计

------解决方案--------------------
2013第一周,请问数据就是这么存的?抛开表结构的问题,可以给你一个提示:
用substr把年,周分出来,再group,count
------解决方案--------------------
select CONVERT(varchar(10), DATEPART(year,getdate()))+'-'+CONVERT(varchar(10), DATEPART(week,getdate()))

------解决方案--------------------
把语句里的table_name换成你的表,datetime_column换成表里的时间列

select CONVERT(varchar(10),year(datetime_column))+'-'+CONVERT(varchar(10), DATEPART(week,datetime_column)) as year_week, 
COUNT(1) as cnt
from table_name
group by CONVERT(varchar(10),year(datetime_column))+'-'+CONVERT(varchar(10), DATEPART(week,datetime_column))