在这里不谈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
自实现lead,lag函数
本文介绍了一种在没有内置lead或lag函数的情况下,通过使用两个子查询并结合row_number()函数来模拟这些窗口函数的方法。这种方法适用于需要按特定顺序获取当前行前后行数据的场景。
792





