Oracle的LAG函数是一个分析函数,用于在查询结果中获取当前行之前的某一行的值
LAG函数的基本语法如下:
LAG(column, offset, default_value) OVER (ORDER BY order_by_column)
其中:
以下是一个简单的示例,展示了如何使用LAG函数来获取员工的前一个月的销售额:
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函数获取每个员工前一个月的销售额。PARTITION BY
子句用于将数据按员工ID分组,而ORDER BY
子句用于按销售日期排序。如果没有前一个月的销售额数据,LAG函数将返回默认值0。