LAG函數是Oracle SQL中的窗口函數,用于獲取當前行之前指定行數的值。
其基本語法如下:
LAG (expr, offset, default) OVER (PARTITION BY partition_col ORDER BY order_col)
例如,假設有一個名為employees的表,包含字段employee_id, last_name, hire_date和salary,想要查詢每個員工的入職日期和上一次調薪日期,可以使用LAG函數:
SELECT employee_id, last_name, hire_date, salary,
LAG(hire_date, 1, NULL) OVER (ORDER BY hire_date) AS prev_hire_date,
LAG(salary, 1, NULL) OVER (ORDER BY hire_date) AS prev_salary
FROM employees;
這將返回每個員工的入職日期和上一次調薪日期。