当前位置: 代码迷 >> Oracle开发 >> sql 查寻每个id对应的记录的上一条记录
  详细解决方案

sql 查寻每个id对应的记录的上一条记录

热度:85   发布时间:2016-04-24 06:28:42.0
sql 查找每个id对应的记录的上一条记录

如图所示,我需要查找表中w_i_code_c对应的各自记录最新记录的上一条记录,根据w_pk_sid_n来派寻,w_currentmark_n为1的标识个记录的最新一条记录,我怎么找到他们对应的上一条记录
------解决思路----------------------
w_pk_sid_n 是顺序排列的吗?如果是的话可以这样:

select *
  from t
 where (t.w_i_code_c, t.w_pk_sid_n) in
       (select w_i_code_c, w_pk_sid_n - 1
          from t
         where w_current_mark_n = 1);

------解决思路----------------------
SELECT * FROM (
select T.*,ROW_NUMBER()OVER(PARTITION BY w_i_code_c ORDER BY W_PK_PID_N DESC) RN
from T
)WHERE RN=2
  相关解决方案