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
取某个字往前n的值 with tmp as()&lag
于 2021-01-26 10:32:35 首次发布
本文介绍了一个使用临时表和SQL窗口函数LAG及LEAD的具体案例。通过创建临时表并利用LAG和LEAD函数来获取指定列的前驱和后继值,展示了如何在逆序排序条件下实现这一功能。

1981

被折叠的 条评论
为什么被折叠?



