JSON

JSONB_AGG

PostgreSQLPostgreSQL

Aggregate function yang mengumpulkan nilai menjadi JSON array. Seperti ARRAY_AGG tapi hasilnya JSONB array.

Tipe hasil: jsonb

Syntax

SQL
JSONB_AGG(expression)
JSONB_AGG(expression ORDER BY sort_expression)

Parameter

expressionanywajib

Nilai yang akan dikumpulkan ke array

ORDER BYclauseopsional

Opsional. Menentukan urutan elemen dalam array

Contoh Penggunaan

Aggregate ke JSON Array

SQL
1SELECT
2 category,
3 JSONB_AGG(name) AS products
4FROM products
5GROUP BY category;

Mengumpulkan nama produk per kategori ke JSON array.

Hasil
categoryproducts
Electronics["Laptop", "Phone", "Tablet"]
Clothing["Shirt", "Pants"]

Aggregate Objects

SQL
1SELECT
2 category,
3 JSONB_AGG(
4 JSONB_BUILD_OBJECT(id, id, name, name, price, price)
5 ORDER BY price DESC
6 ) AS products
7FROM products
8GROUP BY category;

Aggregate objects dengan urutan tertentu.

Hasil
categoryproducts
Electronics[{"id": 1, "name": "Laptop", "price": ...}]

Build API Response

SQL
1SELECT JSONB_BUILD_OBJECT(
2 items, JSONB_AGG(TO_JSONB(t.*)),
3 count, COUNT(*)
4) AS response
5FROM (SELECT id, name FROM products LIMIT 10) t;

Membuat response API dengan array of objects.