跳到主要内容

any_value:返回某行的值

速查结论

any_value(expr[, isIgnoreNull]) 是 Spark SQL 中用于从一组行中任意返回某一行表达式值的聚合函数。

语法

any_value(expr[, isIgnoreNull])

参数说明

参数说明
expr任意表达式
isIgnoreNull可选,布尔值。当为 true 时,仅返回非空值

示例

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

常见报错与避坑指南

  • 非确定性函数:该函数是非确定性的,每次调用可能返回不同的值,不可依赖其返回特定行。
  • NULL 值陷阱:若不指定 isIgnoreNull = true,返回结果可能是 NULL(当某个输入行本身就是 NULL 时)。如果业务中需要忽略 NULL 值,务必显式传入 true

Since: 1.4.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看