Bagikan melalui


collect_setFungsi agregat

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

Menghasilkan array yang terdiri dari semua nilai unik di expr dalam grup.

Sintaks

collect_set(expr) [FILTER ( WHERE cond ) ]

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

Argumen

  • expr: Ekspresi jenis apa pun kecuali MAP.
  • cond: Ekspresi boolean opsional yang memfilter baris yang digunakan untuk agregasi.

Pengembalian

Sebuah ARRAY dengan tipe argumen.

Urutan elemen dalam array adalah non-deterministik. Nilai NULL dikecualikan.

Contoh

> SELECT collect_set(col) FROM VALUES (1), (2), (NULL), (1) AS tab(col);
 [1,2]

> SELECT collect_set(col1) FILTER(WHERE col2 = 10)
    FROM VALUES (1, 10), (2, 10), (NULL, 10), (1, 10), (3, 12) AS tab(col1, col2);
 [1,2]