oracle获取上一条记录与下一条记录lag()与lead()函数

lead()查询当前行与下一行数据主键
 select zzid,c.p from (
  select d.zzid ,lead(d.zzid,1,0) over (order by d.d01007 ) as p from t_d01 d  where exists ( select 1 from  ( select zzid from t_d01 d1 start with d01007 = '001044012025010068' connect by prior d01007=d01027 ) m 
     where d.zzid=m.zzid )    ) c where c.zzid='162';
lag()查询当前行与下一行数据主键     
select zzid,c.p from ( select d.zzid ,lag(d.zzid,1,0) over (order by d.d01007 ) as p from t_d01 d  where exists ( select 1 from  ( select zzid from t_d01 d1 start with d01007 = '001044012025010068' connect by prior d01007=d01027 ) m 
     where d.zzid=m.zzid )    ) c where c.zzid='162';

猜你喜欢

转载自blog.csdn.net/lwladzhj/article/details/79993363