全部产品
Search
文档中心

MaxCompute:KOMBINASI

更新时间:Dec 06, 2025

Mengembalikan array yang berisi semua kombinasi dari n elemen dari array input.

Sintaksis

combinations(array(T), n)

Parameter

  • array: Array input.

  • n: Jumlah elemen dalam setiap kombinasi.

Nilai pengembalian

Mengembalikan array yang berisi semua kombinasi dari n elemen dari array input.

  • Jika array input tidak mengandung elemen duplikat, fungsi ini mengembalikan array berisi subset dengan n elemen. Output bersifat deterministik, tetapi urutan subset maupun urutan elemen di dalamnya tidak dijamin.

  • Secara default, nilai n tidak boleh lebih besar dari 5, dan jumlah total kombinasi yang dihasilkan tidak boleh melebihi 100.000. Anda dapat mengubah batas ini dengan mengatur parameter odps.sql.max.combination.length dan odps.sql.max.combinations.

  • Jika n lebih besar dari jumlah elemen dalam array input, fungsi akan mengembalikan array kosong.

Contoh

  • Contoh 1: Array bertipe STRING.

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

    Hasil berikut dikembalikan:

    [['foo', 'bar'],['foo', 'boo'],['bar', 'boo']]
  • Contoh 2: Array bertipe numerik.

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

    Hasil berikut dikembalikan:

    [[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]]
  • Contoh 3: Array yang mengandung elemen duplikat.

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

    Hasil berikut dikembalikan:

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

Fungsi terkait

COMBINATIONS adalah fungsi tipe kompleks. Untuk informasi selengkapnya mengenai fungsi yang memproses tipe data kompleks seperti ARRAY, MAP, STRUCT, dan JSON, lihat Complex type functions.