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。