modeFungsi agregat

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

Menampilkan nilai yang paling sering, bukan NULL, nilai expr dalam grup.

mode adalah fungsi non-deterministik kecuali deterministic diatur ke true.

Sintaks

mode(expr [, deterministic ]) [FILTER ( WHERE cond ) ]

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

Argumen

  • expr

    Ekspresi jenis apa pun yang dapat dibandingkan.

  • deterministic

    Di Databricks SQL dan Databricks Runtime 14.1 ke atas. Ekspresi konstanta BOOLEANopsional. Jika true menjamin hasil deterministik jika ada beberapa nilai dengan frekuensi yang sama.

  • cond

    Ekspresi opsional BOOLEAN yang memfilter baris yang digunakan untuk agregasi.

Pengembalian

Jenis hasil cocok dengan jenis argumen.

Jika grup hanya berisi null, fungsi mengembalikan NULL. Hasilnya tidak deterministik jika ada kesetaraan untuk nilai yang paling sering muncul.

Nota

Bahkan dengan deterministic disetel ke true, hasilnya mungkin tidak deterministik untuk kolasi STRING tertentu, seperti UTF8_LCASE.

Contoh

> SELECT mode(col) FROM VALUES (NULL), (1), (NULL), (2), (NULL), (3), (3) AS tab(col);
 3

> SELECT mode(col) FROM VALUES (array(1, 2)), (array(1, 2)), (array(2, 3)) AS tab(col);
 [1, 2]

-- The function returns either 1 or 2, but not 3
> SELECT mode(col) FROM VALUES (1), (1), (2), (2), (3) AS tab(col);
 1

> SELECT mode(col) FROM VALUES (NULL), (NULL) AS tab(col);
 NULL

> SELECT mode(col COLLATE UTF8_LCASE, true) FROM VALUES('a'), ('A'), ('b') AS tab(col);
 a (or A)