Aggregate

ARRAY_AGG

DuckDBDuckDB

Mengumpulkan nilai dari beberapa baris menjadi sebuah array/list. Di DuckDB, ARRAY_AGG dan LIST adalah sinonim.

Tipe hasil: LIST (array)Diperbarui: 16 Mei 2026

Syntax

SQL
ARRAY_AGG(expression [ORDER BY sort_expression])

Parameter

expressionanywajib

Kolom atau ekspresi yang akan dikumpulkan ke dalam array

ORDER BYclauseopsional

Opsional. Menentukan urutan elemen dalam array

Contoh Penggunaan

Mengumpulkan ID ke dalam Array

SQL
1SELECT ARRAY_AGG(id)
2FROM products
3WHERE category = 'Electronics';

Mengumpulkan semua ID produk elektronik ke dalam array.

Hasil
[1, 5, 8, 12]

Array dengan ORDER BY

SQL
1SELECT
2 category,
3 ARRAY_AGG(name ORDER BY price DESC) as products_by_price
4FROM products
5GROUP BY category;

Mengelompokkan produk per kategori, diurutkan berdasarkan harga.

Hasil
categoryproducts_by_price
Electronics[MacBook, iPhone, AirPods]
Clothing[Jacket, T-Shirt, Cap]

UNNEST untuk Membuka Array

SQL
1WITH product_arrays AS (
2 SELECT category, ARRAY_AGG(name) as names
3 FROM products
4 GROUP BY category
5)
6SELECT category, UNNEST(names) as product_name
7FROM product_arrays;

Menggunakan UNNEST untuk membuka array kembali menjadi baris.

Pertanyaan Umum tentang ARRAY_AGG

Apa itu fungsi ARRAY_AGG di DuckDB?
Mengumpulkan nilai dari beberapa baris menjadi sebuah array/list. Di DuckDB, ARRAY_AGG dan LIST adalah sinonim. Di DuckDB, fungsi ARRAY_AGG termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan ARRAY_AGG di DuckDB?
Gunakan sintaks berikut: ARRAY_AGG(expression [ORDER BY sort_expression]). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi ARRAY_AGG?
Fungsi ARRAY_AGG mengembalikan nilai bertipe LIST (array). Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi ARRAY_AGG?
Fungsi ini memiliki 1 parameter wajib dan 1 parameter opsional. Parameter yang digunakan: expression (any, wajib): Kolom atau ekspresi yang akan dikumpulkan ke dalam array; ORDER BY (clause, opsional): Opsional. Menentukan urutan elemen dalam array.