Bagikan melalui


countFungsi agregat

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengembalikan jumlah baris yang diambil dalam grup.

Sintaks

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

Fungsi ini juga dapat dipanggil sebagai fungsi jendela menggunakan klausa OVER.

Argumen

  • *: Menghitung semua baris dalam grup.
  • expr: Menghitung semua baris yang semuanya exprN bukan NULL.
  • cond: Ekspresi boolean opsional yang memfilter baris yang digunakan untuk agregasi.

Pengembalian

BIGINT.

Jika DISTINCT ditentukan, maka fungsi mengembalikan jumlah nilai unik yang tidak berisi NULL.

Jika ALL ditentukan, maka fungsi mengembalikan jumlah semua nilai. Dalam hal * ini termasuk yang berisi NULL.

Contoh

> 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