问题没有解决
数据表“人员信息”里有很多数据记录,其中注册时间为2011-01-01至2011-06-10(此时间段为动态的),现以周作为周期,通过sql语句查询出每周人员注册的数量,最终将每周的数据做趋势分析,请问如何通过sql得出每周的数据?其中每周的数据都需要从周一开始至周天结束,用下列语句查询后发现得出的结果与实际不符,如得出的结果为:
无列名 无列名
1 20
2 30
3 40
其中第一列应该是周数,第二列是对应该周的人员注册的数量,但人员注册的数量与数据库中的不符,不知问题出在哪里?
set datefirst 1;
select datepart(wk,注册时间),count(1)
from 人员信息 where 注册时间>='2011-01-01' and 注册时间<'2011-01-31'
group by datepart(wk,注册时间)
无列名 无列名
1 20
2 30
3 40
其中第一列应该是周数,第二列是对应该周的人员注册的数量,但人员注册的数量与数据库中的不符,不知问题出在哪里?
set datefirst 1;
select datepart(wk,注册时间),count(1)
from 人员信息 where 注册时间>='2011-01-01' and 注册时间<'2011-01-31'
group by datepart(wk,注册时间)
作者: tdzbh 发布时间: 2011-06-11
楼主,请提供你的表结构,测试数据,算法和你想要的结果,这样来得快一点
作者: FlySQL 发布时间: 2011-06-11
SQL code
set datefirst 1; select datepart(wk,注册时间),count(distinct 人员ID) from 人员信息 where 注册时间>='2011-01-01' and 注册时间<'2011-01-31' group by datepart(wk,注册时间) --试试!
作者: AcHaret 发布时间: 2011-06-11