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

MaxCompute:COMBINATIONS

最終更新日:Dec 06, 2025

入力配列から n 個の要素のすべての組み合わせの配列を返します。

構文

combinations(array(T), n)

パラメーター

  • array:入力配列。

  • n:各組み合わせの要素数。

戻り値

入力配列から n 個の要素のすべての組み合わせを含む配列を返します。

  • 入力配列に重複する要素が含まれていない場合、この関数は n 個の要素からなるサブセットの配列を返します。出力は決定論的ですが、サブセットとその中の要素の順序は保証されません。

  • デフォルトでは、n の値は 5 を超えることはできず、生成される組み合わせの総数は 100,000 を超えることはできません。これらの制限は、odps.sql.max.combination.length および odps.sql.max.combinations パラメーターを設定することで変更できます。

  • n が入力配列の要素数より大きい場合、この関数は空の配列を返します。

  • 例 1:STRING 型の配列。

    SELECT combinations(array('foo', 'bar', 'boo'),2);

    次の結果が返されます:

    [['foo', 'bar'],['foo', 'boo'],['bar', 'boo']]
  • 例 2:数値型の配列。

    SELECT combinations(array(1,2,3,4,5),3);

    次の結果が返されます:

    [[1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4], [1, 2, 5], [1, 3, 5], [2, 3, 5], [1, 4, 5], [2, 4, 5], [3, 4, 5]]
  • 例 3:重複する要素を含む配列。

    SELECT combinations(array(1,2,2),2);

    次の結果が返されます:

    [[1,2], [1,2], [2,2]]	

関連関数

COMBINATIONS は複合型関数です。ARRAY、MAP、STRUCT、JSON などの複合データ型を処理する関数の詳細については、「複合型関数」をご参照ください。