跳到主要内容

count_if:条件计数

速查结论

count_if(expr) 是 Spark SQL 中用于统计布尔表达式中 TRUE 值的数量的聚合函数。

语法

count_if(expr)

参数说明

参数说明
expr布尔表达式。当表达式结果为 TRUE 时计入

示例

> SELECT count_if(col % 2 = 0) FROM VALUES (NULL), (0), (1), (2), (3) AS tab(col);
2
> SELECT count_if(col IS NULL) FROM VALUES (NULL), (0), (1), (2), (3) AS tab(col);
1

常见报错与避坑指南

  • 只有 TRUE 才计入count_if 只统计表达式结果为 true 的行,falseNULL 均不计入。这与 count 的行为一致(NULL 被忽略)。
  • sum(CASE WHEN) 的关系count_if(condition) 等价于 sum(CASE WHEN condition THEN 1 ELSE 0 END)count(CASE WHEN condition THEN 1 END),但语法更简洁直观。

Since: 3.0.0

📱关注公众号

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

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

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

交流微信二维码

你可能还想看