with tmp as(
select '1' id ,'aa' name ,'22' age from dual union all
select '2' id ,'bb' name ,'20' age from dual union all
select '3' id ,'CC' name ,'21' age from dual
)
select a.*,
lead(age,1) over (order by id desc) lag,
a.age - lead(age,1) over (order by id desc) lag1
from tmp a
lead函數是按id倒序排序把下一行的age記錄顯示在當前行的列lag,為null顯示null

with tmp as(
select '1' id ,'aa' name ,'22' age from dual union all
select '2' id ,'bb' name ,'20' age from dual union all
select '3' id ,'CC' name ,'21' age from dual
)
select a.*,
lag(age,1) over (order by id desc) lag,
a.age - lag(age,1) over (order by id desc) lag1
from tmp a
lag函數是按id倒序排序把上一行的age記錄顯示在當前行的列lag,為null顯示null
