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