在 SQL 中,LAG()
函數(shù)用于獲取窗口內(nèi)某行之前的行
以下是一個使用 LAG()
函數(shù)計算偏移量的示例:
SELECT
order_id,
order_date,
LAG(order_date) OVER (ORDER BY order_date ASC) AS previous_order_date,
LAG(order_date, 2) OVER (ORDER BY order_date ASC) AS second_previous_order_date
FROM
orders;
在這個示例中,我們從 orders
表中選擇了 order_id
和 order_date
。然后,我們使用 LAG()
函數(shù)分別獲取上一個訂單日期(previous_order_date
)和上兩個訂單日期(second_previous_order_date
)。
注意,當(dāng)偏移量超出窗口范圍時,LAG()
函數(shù)將返回 NULL
。因此,在處理邊界情況時,請確保您的查詢能夠正確處理 NULL
值。