COUNT_IF 函数

功能描述

COUNT_IF
COUNT_IF
函数用于计算表达式中值为
TRUE
TRUE
的行数。该函数可以处理任意返回布尔值的表达式,并返回一个
BIGINT
BIGINT
类型的数值结果。需要注意的是,
NULL
NULL
值不会影响计数结果。

语法格式

COUNT_IF([DISTINCT] expr1)

参数说明

  • expr1
    expr1
    : 需要计算的布尔表达式。返回值为
    TRUE
    TRUE
    FALSE
    FALSE
    的任意表达式。

返回结果

  • 返回值为
    BIGINT
    BIGINT
    类型,表示表达式为
    TRUE
    TRUE
    的行数。
  • 如果使用
    DISTINCT
    DISTINCT
    关键字,则只计算不同的
    TRUE
    TRUE
    值,重复的
    TRUE
    TRUE
    值只计算一次。

使用示例

示例 1:计算不同的

TRUE
TRUE
值数量

SELECT count_if(col % 2 = 0) FROM VALUES (NULL), (0), (1), (2), (2), (3) AS tab(col); +-----------------------+ | count_if(col % 2 = 0) | +-----------------------+ | 3 | +-----------------------+

示例 2:结合

DISTINCT
DISTINCT
使用

SELECT count_if(DISTINCT col % 2 = 0) FROM VALUES (NULL), (0), (1), (2), (2), (3) AS tab(col); +--------------------------------+ | count_if(DISTINCT col % 2 = 0) | +--------------------------------+ | 1 | +--------------------------------+

示例 3:计算

NULL
NULL
值的数量

SELECT count_if(col IS NULL) FROM VALUES (NULL), (0), (1), (2), (3) AS tab(col); +-------------------------+ | count_if((col) IS NULL) | +-------------------------+ | 1 | +-------------------------+

注意事项

  • COUNT_IF
    COUNT_IF
    函数仅适用于返回布尔值的表达式。
  • 使用
    DISTINCT
    DISTINCT
    关键字时,确保表达式返回的值可以用于区分重复的
    TRUE
    TRUE
    值。
  • NULL
    NULL
    值不会影响计数结果。

联系我们
预约咨询
微信咨询
电话咨询