Sdílet prostřednictvím


count_if agregační funkce

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime

Vrátí počet hodnot true pro skupinu v expr.

Syntaxe

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

Tuto funkci lze také vyvolat jako funkci okna pomocí klauzule OVER.

Argumenty

  • expr: Výraz Booleova algebry.
  • cond: Volitelný logický výraz filtrující řádky použité pro agregaci.

Návraty

Úloha BIGINT.

count_if(expr) FILTER(WHERE cond) je ekvivalent count_if(expr AND cond).

Pokud je DISTINCT zadán, počítány jsou pouze jedinečné řádky.

Příklady

> 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