全部產品
Search
文件中心

MaxCompute:SORT_ARRAY

更新時間:Jun 19, 2024

對ARRAY數組中的元素進行排序。

命令格式

array<T> sort_array(array<T> <a>[, <isasc>])

參數說明

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

  • isasc:可選。用於設定定序。取值為True(升序)或False(降序)。預設為升序。

傳回值說明

返回ARRAY類型。NULL值為最小值。

使用樣本

  • 樣本1:例如表t_array的欄位為c1 array<string>,c2 array<int> ,c3 array<string>,包含資料如下:

    +------------+---------+--------------+
    | c1         | c2      | c3           |
    +------------+---------+--------------+
    | [a, c, f, b]  | [4, 5, 7, 2, 5, 8]  |  [你, 我, 他] |
    +------------+---------+--------------+

    對錶的每列資料進行排序。命令樣本如下。

    --返回[a, b, c, f] [2, 4, 5, 5, 7, 8] [他, 你, 我]。
    select sort_array(c1),sort_array(c2),sort_array(c3) from t_array;
  • 樣本2:對ARRAY數組array(10, 20, 40, 30, 30, null, 50)進行降序排序。命令樣本如下。

    --返回[50, 40, 30, 30, 20, 10, NULL]。
    select sort_array(array(10, 20, 40, 30, 30, null, 50), false);

相關函數

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