次の方法で共有


count 集計関数

適用対象:check marked yes Databricks SQL check marked yes Databricks Runtime

グループ内の取得された行の数を返します。

構文

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

この関数は、OVER 句を使用して ウィンドウ 関数として呼び出すこともできます。

引数

  • *: グループ内のすべての行がカウントされます。
  • expr: すべての exprNNULL でない行のみがカウントされます。
  • cond: 集計に使用される行をフィルター処理するブール式 (省略可能)。

返品

BIGINT です。

DISTINCT を指定すると、関数からは、NULL を含まない一意の値の個数が返されます。

ALL を指定すると、関数からはすべての値の個数が返されます。 * の場合、これには 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