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
LAG
SELECT last_name, hire_date, salary,
本文通过具体案例展示了SQL中LEAD和LAG窗口函数的应用方法,这两种函数分别用于获取指定顺序下一行或上一行的数据,有助于进行数据分析时的时间序列比较。

被折叠的 条评论
为什么被折叠?



