当前位置: 代码迷 >> Sql Server >> 一个用户注册的统计的sq查询,该如何处理
  详细解决方案

一个用户注册的统计的sq查询,该如何处理

热度:65   发布时间:2016-04-24 09:10:03.0
一个用户注册的统计的sq查询
SELECT CONVERT(CHAR(10),AddTime,120) as 注册时间, COUNT(-1) as 递增数
,(select count(-1) from UserInfo where AddTime<=U.AddTime) as 总数
FROM UserInfo as U
GROUP BY CONVERT(CHAR(10),AddTime,120),U.AddTime

order by CONVERT(CHAR(10),AddTime,120) desc


======================以上为SQL语句
表结构如下:
SELECT Id, AddTime FROM UserInfo

想要实现的为:


但测试站上执行的为:


测试站为SQL2008+的版本,本地为2005

所以请帮忙,看看 怎样的SQL好一些。
------解决思路----------------------
;WITH CTE AS(
SELECT CONVERT(CHAR(10),AddTime,120)AS[注册时间]
,COUNT(-1)AS[递增数]
FROM UserInfo
GROUP BY CONVERT(CHAR(10),AddTime,120)
)
SELECT T1.注册时间,T1.递增数,SUM(T2.[递增数])[总数]
FROM CTE T1
JOIN CTE T2 ON T1.注册时间>=T2.注册时间
GROUP BY T1.注册时间,T1.递增数
  相关解决方案