Oracle的LAG函數(shù)是一個分析函數(shù),用于在查詢結(jié)果中獲取當(dāng)前行之前的某一行的值
LAG函數(shù)的基本語法如下:
LAG(column, offset, default_value) OVER (ORDER BY order_by_column)
其中:
以下是一個簡單的示例,展示了如何使用LAG函數(shù)來獲取員工的前一個月的銷售額:
SELECT employee_id, sale_date, sales_amount,
LAG(sales_amount, 1, 0) OVER (PARTITION BY employee_id ORDER BY sale_date) AS prev_month_sales
FROM sales;
在這個示例中,我們從sales
表中選擇employee_id
、sale_date
和sales_amount
列。然后,我們使用LAG函數(shù)獲取每個員工前一個月的銷售額。PARTITION BY
子句用于將數(shù)據(jù)按員工ID分組,而ORDER BY
子句用于按銷售日期排序。如果沒有前一個月的銷售額數(shù)據(jù),LAG函數(shù)將返回默認(rèn)值0。