Aggregate
PostgreSQL
ARRAY_AGG
Mengumpulkan nilai dari beberapa baris menjadi sebuah array PostgreSQL. Berguna untuk mengumpulkan data tanpa harus mengubahnya menjadi string.
Tipe hasil:
arrayDiperbarui: 16 Mei 2026Syntax
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
1 SELECT ARRAY_AGG(id) 2 FROM products 3 WHERE category = 'Electronics';
Mengumpulkan semua ID produk elektronik ke dalam satu array.
Hasil
{1, 5, 8, 12}
Array dengan ORDER BY
SQL
1 SELECT 2 category, 3 ARRAY_AGG(name ORDER BY price DESC) as products_by_price 4 FROM products 5 GROUP BY category;
Mengelompokkan produk per kategori, dengan urutan berdasarkan harga tertinggi.
Hasil
| category | products_by_price |
|---|---|
| Electronics | {MacBook, iPhone, AirPods} |
| Clothing | {Jacket, T-Shirt, Cap} |
Menggunakan dengan ANY Operator
SQL
1 SELECT * 2 FROM orders 3 WHERE 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.