oracle中lag和lead函数的使用,取出上一条记录的字段
lag和lead函数可以在同一次查询中取出同一字段的前N行数据(lag)和后N行数据(lead)。这种字段可以使用对相同表的表连接来实现,不过使用lag和lead函数具有更高的效率。
SELECT *
FROM (select pid,
sp.Psnname,
sp.Upbid,
sp.Updid,
sp.startdate,
sp.enddate,
lag(enddate, 1, null) over(partition by pid order by startdate) as pior --取前1条的enddate
from sl_person sp
where sp.Channel in (‘3’)
where pior > startdate