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好一些。
看你的样子是想用lead或者lag类似的函数
SELECT * FROM
(SELECT A.*,row_number() OVER(order by 注册时间) r FROM UserInfo A) k
,(SELECT A.*,row_number() OVER(order by 注册时间) r FROM UserInfo A) B
WHERE k.R=B.R-1
按照上面语句,下面一行和当前行的列都显示在同一行,想怎么处理都行
自己写个触发器,每次有用户注册记录插入的时候,更新你的递增
和总数列
.