全部產品
Search
文件中心

MaxCompute:ARRAY_DISTINCT

更新時間:Jun 19, 2024

去除ARRAY數組a中的重複元素。

命令格式

array<T> array_distinct(array<T> <a>)

參數說明

a:必填。ARRAY數組。array<T>中的T指代ARRAY數組元素的資料類型,數組中的元素可以為任意類型。

傳回值說明

返回ARRAY類型。返回規則如下:

  • 新ARRAY數組無重複元素且元素順序與a中的元素順序保持一致。

  • ARRAY數組a中存在元素為NULL時,NULL值會參與運算。

  • 輸入數組為空白時,返回空數組。

使用樣本

  • 樣本1:去除ARRAY數組array(10, 20, 30, 30, 20, 10)中的重複元素。命令樣本如下。

    --返回[10,20,30]。
    select array_distinct(array(10, 20, 30, 30, 20, 10));
  • 樣本2:去除ARRAY數組array(10, 20, 20, null, null, 30, 20, null)中的重複元素。命令樣本如下。

    --返回[10,20,null,30]。
    select array_distinct(array(10, 20, 20, null, null, 30, 20, null)); 
  • 樣本3:ARRAY數組為空白。命令樣本如下。

    --返回[]。
    select array_distinct(array());

相關函數

ARRAY_DISTINCT函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數