共用方式為


collect_set 聚合函數

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

傳回由群組內 expr 中所有唯一值組成的陣列。

語法

collect_set(expr) [FILTER ( WHERE cond ) ]

您也可以使用 子句,將此函式叫用OVER視窗函式。

引數

  • expr:除了 以外的 MAP任何類型的表達式。
  • cond:選擇性布爾表示式,篩選用於匯總的數據列。

傳回

自變數類型的ARRAY。

陣列中的元素順序不具決定性。 NULL 值會排除。

範例

> 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]