lead 分析窗口函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

从分区中的后续行返回值 expr。 此函数是 lag(expr, -offset, default) 的同义词。

语法

lead(expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause

参数

  • expr:任何类型的表达式。
  • offset:指定偏移量的可选整数文本。
  • default:与 expr 相同类型的表达式。
  • IGNORE NULLSRESPECT NULLS:指定 IGNORE NULLS 后,会忽略为 NULL 的所有 expr 值。 默认为 RESPECT NULLS
  • OVER 子句:描述窗口的子句。 请参阅:窗口函数

返回

结果类型匹配 expr

如果 offset 是正值,则该值来自当前行之后的行,由 offset 在 OVER 子句中指定 ORDER BY。 如果偏移量为 0,则使用当前行的值。 负偏移量使用来自当前行之前的行的值。 如果未指定 offset,则默认为 1,即紧接着的后一行。

如果在分区中的指定偏移量处没有行,则使用指定的 defaultdefault 默认值为 NULL。 必须提供 ORDER BY 子句

示例

> SELECT a, b, lead(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1
 A1 1   2
 A1 2   NULL
 A2 3   NULL