sql/oracle数据库之偏移函数lag()、lead()及示例

偏移函数lag、lead

一般按要求排名后,向上或者向下取排名第几的数值

  • lag(字段名称 , 向上偏移量 , 超出范围时默认值) over (partion by …order by …)

  • lead(字段名称 , 向下偏移量 , 超出范围时默认值) over (partion by …order by …)

示例:

如下为举例所用的数据表test_1的表结构:
sql/oracle数据库之偏移函数lag()、lead()及示例_第1张图片
查找每个人按时间顺序排列的下一次薪水是多少,没有的话用0代替:

select name, date, salary,
lead(salary,1,0) over (partition by name order by date) rn
from test_1
order by name, date

输出:
sql/oracle数据库之偏移函数lag()、lead()及示例_第2张图片


你可能感兴趣的:(sql,mysql,sql,oracle,数据库)