LAG() 函数是 SQL 中的一个窗口函数,它可以访问结果集中当前行之前的某一行
以下是 LAG() 函数的基本语法:
LAG(column_name, offset, default_value) OVER (PARTITION BY partition_column ORDER BY order_column)
参数说明:
以下是一个使用 LAG() 函数的示例。假设我们有一个名为 sales_data 的表,其中包含以下列:sales_date、product_id 和 daily_sales。我们想要查询每个产品在每天的销售额以及前一天的销售额。
SELECT
product_id,
sales_date,
daily_sales,
LAG(daily_sales, 1, 0) OVER (PARTITION BY product_id ORDER BY sales_date) AS previous_day_sales
FROM
sales_data
ORDER BY
product_id,
sales_date;
这个查询将返回一个结果集,其中包含每个产品在每天的销售额以及前一天的销售额。如果前一天没有销售额数据,则返回默认值 0。