Aggregate

ARRAY_AGG

PostgreSQLPostgreSQL

Mengumpulkan nilai dari beberapa baris menjadi sebuah array PostgreSQL. Berguna untuk mengumpulkan data tanpa harus mengubahnya menjadi string.

Tipe hasil: arrayDiperbarui: 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 satu 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, dengan urutan berdasarkan harga tertinggi.

Hasil
categoryproducts_by_price
Electronics{MacBook, iPhone, AirPods}
Clothing{Jacket, T-Shirt, Cap}

Menggunakan dengan ANY Operator

SQL
1SELECT *
2FROM orders
3WHERE product_id = ANY(
4 SELECT ARRAY_AGG(id)
5 FROM products
6 WHERE on_sale = true
7);

Mencari orders yang product_id-nya ada dalam array produk yang sedang diskon.

Pertanyaan Umum tentang ARRAY_AGG

Apa itu fungsi ARRAY_AGG di PostgreSQL?
Mengumpulkan nilai dari beberapa baris menjadi sebuah array PostgreSQL. Berguna untuk mengumpulkan data tanpa harus mengubahnya menjadi string. Di PostgreSQL, fungsi ARRAY_AGG termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan ARRAY_AGG di PostgreSQL?
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 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.