SQLServer的Lead和Lag如何实现?

在这里不谈2012版本,因为那版本好像有了lead,lag函数,不过没试过。这里主要讲怎么自己实现

1、有表a如下数据

insert into a(id,name) values(1,'张三')  
insert into a(id,name) values(2,'李四')  
insert into a(id,name) values(3,'王五')  

2、sql如下

select * from   
(select a.*,row_number() over(order by id) r  from a) k  
,(select a.*,row_number() over(order by id) r from a) b   
where k.r=b.r-1  

另外就是r=r+1

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐