nth_value
分析窗口函数
适用于: 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