在 SQL 中,LAG()
函數用于獲取窗口內某行之前的行
以下是一個使用 LAG()
函數計算偏移量的示例:
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()
函數分別獲取上一個訂單日期(previous_order_date
)和上兩個訂單日期(second_previous_order_date
)。
注意,當偏移量超出窗口范圍時,LAG()
函數將返回 NULL
。因此,在處理邊界情況時,請確保您的查詢能夠正確處理 NULL
值。