在SQL中,LAG函數用于獲取當前行之前的某一行的數據。它可以用于計算當前行與之前行之間的差異,或者用于獲取前一行的數據,以進行比較或計算。
LAG函數的語法如下:
LAG(column, offset, default) OVER (PARTITION BY partition_column ORDER BY order_column)
其中:
以下是一個使用LAG函數的示例:
SELECT
customer_id,
order_date,
order_amount,
LAG(order_amount) OVER (PARTITION BY customer_id ORDER BY order_date) AS previous_order_amount
FROM
orders
此查詢將獲取每個客戶的每個訂單的訂單金額,并將前一個訂單的訂單金額作為新的列返回。如果沒有前一個訂單,將返回NULL。
通過使用LAG函數,可以在查詢中輕松地比較并計算當前行與之前行之間的差異,或者獲取前一行的數據進行其他操作。