在 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 值。