Share via


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]