请教如何统计表中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))