共用方式為


count 聚合函數

適用於:核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

傳回群組中擷取的數據列數目。

語法

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

您也可以使用 OVER 子句,將此函式叫用為 window 函式

引數

  • *:計算群組中的所有數據列。
  • expr:計算所有 exprN 不是 NULL的所有數據列。
  • cond:選擇性布爾表示式,篩選用於匯總的數據列。

傳回

BIGINT

如果指定 DISTINCT,則函式會傳回不包含 NULL的唯一 values 數目。

如果指定 ALL,則函式會傳回所有 values的數目。 *如果包含 ,則為 NULL

範例

> 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