Oracle函数-分析函数-获取上一条(下一条)记录

测试数据

with aa as
( 
SELECT 1 a,'2019-01-03' times FROM dual union
SELECT 2 a,'2019-01-02' times FROM dual union
SELECT 3 a,'2019-01-04' times FROM dual union
SELECT 4 a,'2019-01-05' times FROM dual union
SELECT 5 a,'2019-01-06' times FROM dual union
SELECT 6 a,'2019-01-07' times FROM dual union
SELECT 7 a,'2019-01-08' times FROM dual union
SELECT 8 a,'2019-01-09' times FROM dual union
SELECT 9 a,'2019-01-10' times FROM dual
)

函数说明

key1 表示要获得的记录,1为偏移量,0为没有记录时返回的值,key2为排序方式
(key1与key2 可以一样)

上一条记录

lag([key1],1,0)over(order by [key2])

select a,times,lag(a,1,0)over(order by a ) new_a  from aa
ATIMESNEW_A
12019-01-030
22019-01-021
32019-01-042
42019-01-053
52019-01-064
62019-01-075
72019-01-086
82019-01-097
92019-01-108

下一条记录

lead([key1],1,0)over(order by [key2])

select a,times,lead(a,1,0) over(order by times ) new_a  from aa
ATIMESNEW_A
22019-01-021
12019-01-033
32019-01-044
42019-01-055
52019-01-066
62019-01-077
72019-01-088
82019-01-099
92019-01-100
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值