- 类别:
:doc:`/sql-reference/functions-window-syntax`(排名)
LAG¶
访问同一结果集中前一行的数据(无需将表与其自身联接)。
- 另请参阅:
语法¶
实参¶
expr根据指定偏移量返回的表达式。
offset从可从中获取值的当前行向后排列行数。例如,若
offset为 2,会返回间隔为 2 行的expr值。请注意,使用 LEAD 函数来设置负偏移量具有相同的效果。
默认值为 1。
default当偏移量超出窗口边界时要返回的表达式。支持其类型与
expr兼容的任何表达式。默认值为 NULL。
{ IGNORE | RESPECT } NULLS当
expr包含 NULL 值时,是忽略还是遵照 NULL 值:IGNORE NULLS排除计算偏移行时其表达式计算结果为 NULL 的任何行。RESPECT NULLS包括计算偏移行时其表达式计算结果为 NULL 的任何行。
默认值:
RESPECT NULLS
使用说明¶
此 PARTITION BY 子句将 FROM 子句生成的结果集划分入应用该函数的分区。有关更多信息,请参阅 窗口函数的语法和用法。
此 ORDER BY 子句对每个分区中的数据进行排序。
示例¶
创建表并加载数据:
此查询显示今年的收入与上一年的收入之间的差额:
创建另一个表并加载数据:
此查询显示了 IGNORE NULLS 子句对输出的影响。即使前一行包含 NULL,所有行(第一行除外)都包含非 NULL 值。如果前一行包含 NULL,则当前行使用最新的非 NULL 值。