首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

按周分组统计的一条语句,小弟我写的不好,见笑了

2011-12-30 
按周分组统计的一条语句,我写的不好,见笑了select注册人数count(1),第几周rtrim(datepart(year,regtime)

按周分组统计的一条语句,我写的不好,见笑了
select   注册人数=count(1),第几周=rtrim(datepart(year,regtime))+   rtrim(datepart(wk,   regtime))   from   T_user   group   by   rtrim(datepart(year,regtime))+   rtrim(datepart(wk,   regtime))   order   by   rtrim(datepart(year,regtime))   +   rtrim(datepart(wk,   regtime))   desc


能给改得好点吗。我现在这个效果不好,(排序不对)。而且语句拖沓。最好能带上每一周的起始日期,多谢了!

注册人数   第几周
111320079
10020078
14220077
35220076
49920075
24420074
24020073
11520072
400200716
994200715
999200714
1319200713
969200712
934200711
1022200710
17120071
39200653
282200652
240200651
212200650
37200649
27200648
34200647
33200646
27200645
35200644
41200643
49200642
34200641
17200640
5200639
45200638
33200637
30200636
1200635


[解决办法]
select 注册人数=count(1),
第几周=left(regtime,4)+ rtrim(datepart(wk, regtime))
from T_user
group by left(regtime,4)+ rtrim(datepart(wk, regtime))
order by left(regtime,4)+ rtrim(datepart(wk, regtime)) 这样应该也行.哈哈
[解决办法]
只精简到这一步,排序更正了.
select 注册人数=count(1),第几周=rtrim(datepart(year,regtime))+ rtrim(datepart(wk, regtime)) from T_user group by datepart(year,regtime),datepart(wk, regtime) order by datepart(year,regtime),(datepart(wk, regtime) desc


求每周的第一天与最后一天加上下面的:
,DATEADD(wk,DATEDIFF(wk,0,dateym),0)
,DATEADD(wk,DATEDIFF(wk,0,dateym),6)

[解决办法]
我也遇到同样的问题,帮你顶一个
[解决办法]
select 人数=count(1),第几周=convert(varchar(4),regtime,120)+ '年第 '+right( '0 '+convert(varchar(2),datepart(wk,regtime)),2)+ '周 '
from T_user
group by convert(varchar(4),regtime,120)+ '年第 '+right( '0 '+convert(varchar(2),datepart(wk,regtime)),2)+ '周 '
order by convert(varchar(4),regtime,120)+ '年第 '+right( '0 '+convert(varchar(2),datepart(wk,regtime)),2)+ '周 ' desc

热点排行