count_if 집계 함수

적용 대상:check marked yes Databricks SQL check marked yes Databricks 런타임

expr의 그룹에 대한 true 값의 수를 반환합니다.

구문

count_if ( [ALL | DISTINCT] expr ) [ FILTER ( WHERE cond ) ]

이 함수는 OVER 절을 사용하여 창 함수로 호출할 수도 있습니다.

인수

  • expr: BOOLEAN 식입니다.
  • cond: 집계에 사용되는 행을 필터링하는 선택적 부울 식입니다.

반환

BIGINT.

count_if(expr) FILTER(WHERE cond)count_if(expr AND cond)와 같습니다.

DISTINCT가 지정된 경우 고유 행만 계산됩니다.

예제

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

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

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