适用于:
Databricks SQL
Databricks Runtime
返回位于窗口中特定 offset 处的值。
语法
nth_value(expr, offset) [ IGNORE NULLS | RESPECT NULLS ] OVER clause
参数
expr:一个任意类型的表达式。offset:大于 0 的 INTEGER 字面量。IGNORE NULLS或RESPECT NULLS:使用IGNORE NULLS时,计数将忽略任何为 NULL 的expr值。 默认为RESPECT NULLS。- OVER 子句:描述窗口的子句。 请参阅:窗口函数。
返回
结果类型与 expr 类型匹配。
窗口函数返回从窗口框架开头算起的第 offset 行处的 expr 值。
如果不存在这样的第 offset 行,则返回 NULL。
必须将 ORDER BY 子句与此函数结合使用。 如果顺序不唯一,则结果是不确定的。
示例
> SELECT a, b, nth_value(b, 2) 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 1
A1 2 1
A2 3 NULL