SQL语句:按时段统计数据

假如有一张会员表Table1,我们现在想统计出某些时段(一个月每一天或一天的每个小时)的注册人数,SQL应该怎么写呢?假如会员表数据如下:

UserName         RegDateTime                  
---------------- -----------------------------
user1            2008-07-29 00:32:53.000
user2            2008-07-29 00:32:53.000
user3            2008-07-31 00:32:53.327
user4            2008-07-31 00:32:53.327
user5            2008-07-31 01:32:53.000
user6            2008-07-31 01:32:53.000
user7            2008-07-31 02:32:53.000
user8            2008-07-31 02:32:53.000
user9            2008-07-31 02:32:53.000
user10           2008-07-31 03:32:53.000

现在我们要统计出2008-07-31每小时的注册人数,SQL语句如下:

Select datepart(hh,RegDateTime) as 小时,count(*) as 注册人数
From Table1
Where datediff(day,RegDateTime,'2008-07-31')=0
Group By datepart(hh,RegDateTime)

查询结果:

小时          注册人数        
----------- -----------
0           2
1           2
2           3
3           1

如果要统计7月份每天注册的人数SQL语句为:

Select datepart(day,RegDateTime) as 日,count(*) as 注册人数
From Table1
Where datediff(mm,RegDateTime,'2008-07-1')=0
Group By datepart(day,RegDateTime)

查询结果:

日           注册人数        
----------- -----------
29          2
31          8

评论: 0 | 引用: 0 | 查看次数: 5015
发表评论
登录后再发表评论!