全部产品
Search
文档中心

MaxCompute:ARRAY_DISTINCT

更新时间:Jul 02, 2025

Menghapus elemen duplikat dari array a.

Sintaksis

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

Parameter

a: Wajib. Parameter ini menentukan sebuah array. T dalam array<T> menentukan tipe data elemen-elemen dalam array. Elemen-elemen tersebut dapat berupa tipe data apa pun.

Nilai kembali

Sebuah nilai dengan tipe ARRAY dikembalikan. Nilai kembali mengikuti aturan berikut:

  • Array yang dikembalikan tidak memiliki elemen duplikat, dan elemen-elemen tersebut diurutkan dalam urutan yang sama seperti pada array a.

  • Jika sebuah elemen dalam array a adalah null, elemen null tersebut tetap terlibat dalam operasi.

  • Jika array input kosong, array kosong akan dikembalikan.

Contoh

  • Contoh 1: Menghapus elemen duplikat dari array(10, 20, 30, 30, 20, 10). Pernyataan contoh:

    -- Nilai kembali adalah [10,20,30]. 
    select array_distinct(array(10, 20, 30, 30, 20, 10));
  • Contoh 2: Menghapus elemen duplikat dari array(10, 20, 20, null, null, 30, 20, null). Pernyataan contoh:

    -- Nilai kembali adalah [10,20,null,30]. 
    select array_distinct(array(10, 20, 20, null, null, 30, 20, null)); 
  • Contoh 3: Menghapus elemen duplikat dari array kosong. Pernyataan contoh:

    -- Nilai kembali adalah []. 
    select array_distinct(array());

Fungsi terkait

ARRAY_DISTINCT adalah fungsi tipe kompleks. Untuk informasi lebih lanjut tentang fungsi-fungsi yang digunakan untuk memproses data dari tipe data kompleks, seperti ARRAY, MAP, STRUCT, dan JSON, lihat Fungsi Tipe Kompleks.