Dela via


count mängdfunktion

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime

Returnerar antalet hämtade rader i en grupp.

Syntax

count ( [DISTINCT | ALL] * ) [FILTER ( WHERE cond ) ]
count ( [DISTINCT | ALL] expr [, ...] ) [FILTER ( WHERE cond ) ]

Den här funktionen kan också anropas som en fönsterfunktion med hjälp av OVER -satsen.

Argument

  • *: Räknar alla rader i gruppen.
  • expr: Räknar alla rader som alla exprN inte NULLär .
  • cond: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.

Returer

En BIGINT.

Om DISTINCT anges returnerar funktionen antalet unika värden som inte innehåller NULL.

Om ALL anges returnerar funktionen antalet alla värden. Om * detta inkluderar de som innehåller NULL.

Exempel

> SELECT count(*) FROM VALUES (NULL), (5), (5), (20) AS tab(col);
 4

> SELECT count(1) FROM VALUES (NULL), (5), (5), (20) AS tab(col);
 4

> SELECT count(col) FROM VALUES (NULL), (5), (5), (20) AS tab(col);
 3

> SELECT count(col) FILTER(WHERE col < 10)
    FROM VALUES (NULL), (5), (5), (20) AS tab(col);
 2

> SELECT count(DISTINCT col) FROM VALUES (NULL), (5), (5), (10) AS tab(col);
 2

> SELECT count(col1, col2)
    FROM VALUES (NULL, NULL), (5, NULL), (5, 1), (5, 2), (5, 2), (NULL, 2), (20, 2) AS tab(col1, col2);
 4

> SELECT count(DISTINCT col1, col2)
    FROM VALUES (NULL, NULL), (5, NULL), (5, 1), (5, 2), (NULL, 2), (20, 2) AS tab(col1, col2);
 3