any_value 聚合函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 11.2 及更高版本

返回一组行的任意随机 expr 值。 此函数为非确定性函数。

语法

any_value(expr[, ignoreNull]) [FILTER ( WHERE cond ) ] [ IGNORE NULLS | RESPECT NULLS ]

还可以使用 OVER 子句将此函数作为窗口函数调用。

参数

  • expr:任何类型的表达式。
  • ignoreNull:默认为 false 的可选布尔文本。 ignoreNull 的默认值为 false。
  • cond:一个可选的布尔表达式,可筛选用于聚合的行。
  • IGNORE NULLSRESPECT NULLS:当使用 IGNORE NULLSignoreNulltrue 时,会忽略为 NULL 的所有 expr 值。 默认为 RESPECT NULLS

返回

结果的类型与 expr 相同。

示例

> SELECT any_value(col) FROM VALUES (10), (5), (20) AS tab(col);
 10

-- Subsequent executions may yield a different results
> SELECT any_value(col) FROM VALUES (10), (5), (20) AS tab(col);
 20

> SELECT any_value(col) FROM VALUES (NULL), (5), (20) AS tab(col);
 NULL

> SELECT any_value(col) IGNORE NULLS FROM VALUES (NULL), (5), (20) AS tab(col);
 5