Oracle lead 和 lga 两个函数的用途和用法

本文通过具体案例展示了SQL中LEAD和LAG窗口函数的应用方法,这两种函数分别用于获取指定顺序下一行或上一行的数据,有助于进行数据分析时的时间序列比较。
 lead   :   返回下一条记录hire_date的值。   
  SELECT last_name, hire_date,
       LEAD (hire_date, 1) OVER (ORDER BY hire_date) AS "NextHired"
  FROM employees
 WHERE department_id = 30;
 
    
  LAST_NAME                                   HIRE_DATE   NextHired  
  -------------------------   ---------   ---------  
  Raphaely                                     07-DEC-94   18-MAY-95  
  Khoo                                             18-MAY-95   24-JUL-97  
  Tobias                                         24-JUL-97   24-DEC-97  
  Baida                                           24-DEC-97   15-NOV-98  
  Himuro                                         15-NOV-98   10-AUG-99  
  Colmenares                                 10-AUG-99   
    
LAG  :   返回前一条记录hire_date的值(没有的话,值为0)。  
SELECT last_name, hire_date, salary,
       LAG (salary, 1, 0) OVER (ORDER BY hire_date) AS prev_sal
  FROM employees
 WHERE job_id = 'PU_CLERK';

          
  LAST_NAME                                   HIRE_DATE           SALARY       PREV_SAL  
  -------------------------   ---------   ----------   ----------  
  Khoo                                             18-MAY-95               3100                     0  
  Tobias                                         24-JUL-97               2800               3100  
  Baida                                           24-DEC-97               2900               2800  
  Himuro                                         15-NOV-98               2600               2900  
  Colmenares                                 10-AUG-99               2500               2600  
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值