数据库结果集获取当前行下一行的值

数据库结果集获取当前行下一行的值:
有个报表要加新字段,经过一段数据过滤后得到结果集r1。
列名



现在要获取到这样的结果集r2:

 字段c为当前行下一行的字段a值(后面结果需要去处最后一行)
 脑子一直没转过来的我想了一个笨办法(sql写的少):

select t.*,(select a from r1 where rowid=t.rowid+1) c
from r1 t

这样是能够实现,可效率太慢了,可以卡死人

后来想到一般法把自己蠢哭了
select t.*
from r1 t
left join r2 t1 on t.rowid=t1.rowid-1
然后对上面的结果集进行过滤就可以得到r2了

看到下面这个方法是不是瞬间感觉哔了狗~!有木有,有木有,我感觉了r了整个动物园

总的来说就是写的少!写的少!写的少!(我是前端~~)

你可能感兴趣的:(oracle学习)