取某个字往前n的值 with tmp as()&lag

with tmp as(
select ‘1’ id ,‘a’ name from dual
union all
select ‘2’ id ,‘b’ name from dual
union all
select ‘3’ id ,‘c’ name from dual
union all
select ‘4’ id ,‘d’ name from dual
union all
select ‘5’ id ,‘e’ name from dual
)
select a.*,
lag(name,2,‘’) over (order by id desc) lag–取name的上2个值
–lead(name,2,‘’) over (order by id desc) lead–取name的下2个值
from tmp a


版权声明:本文为wodeyx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。