すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:SORT_ARRAY

最終更新日:Jan 17, 2025

配列内の要素を並べ替えます。

構文

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

パラメーター

  • a: 必須です。 このパラメーターは、配列を指定します。 array<T>Tは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。

  • isasc: オプション。 このパラメーターは、配列内の要素をソートする順序を指定します。 有効な値は、true および false です。 値trueは昇順を示し、値falseは降順を示します。 このパラメーターを指定しない場合、要素は昇順でソートされます。

戻り値

ARRAY型の値が返されます。 値nullは最小値として解釈されます。

  • 例1: c1 array <STRING> 、c2 ARRAY<INT> 、およびc3 ARRAY<STRING> 列を含むt_ARRAYテーブルのデータをソートします。 テーブル内のデータ:

    +------------+---------+--------------+
    | c1         | c2      | c3           |
    +------------+---------+--------------+
    | [a, c, f, b]  | [4, 5, 7, 2, 5, 8]  |  [You, Me, Him] |
    +------------+---------+--------------+

    テーブルの各列のデータをソートします。 例:

    -- The return value is [a, b, c, f] [2, 4, 5, 5, 7, 8] [Him, Me, You]. 
    select sort_array(c1),sort_array(c2),sort_array(c3) from t_array;
  • 例2: 配列 (10、20、40、30、30、null、50) の要素を降順でソートします。 例:

    -- The return value is [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などの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.