Aggregate

STRING_AGG

BigQueryBigQuery

Menggabungkan nilai string dari beberapa baris menjadi satu string dengan delimiter tertentu. Sangat berguna untuk membuat daftar atau comma-separated values di BigQuery.

Tipe hasil: STRINGDiperbarui: 7 Jan 2026

Syntax

SQL
STRING_AGG([DISTINCT] expression [, delimiter] [ORDER BY key])

Parameter

expressionSTRINGwajib

Kolom atau ekspresi string yang akan digabungkan

delimiterSTRINGopsional

Pemisah antar nilai (default: koma ',')

Default: ','

DISTINCTmodifieropsional

Hanya gabungkan nilai unik

ORDER BYclauseopsional

Mengurutkan nilai sebelum digabungkan

Contoh Penggunaan

Menggabungkan Nama Produk

SQL
1SELECT
2 customer_id,
3 STRING_AGG(product_name, ', ') as purchased_products
4FROM `project.dataset.orders`
5GROUP BY customer_id
6LIMIT 3;

Membuat daftar produk yang dibeli per customer.

Hasil
customer_idpurchased_products
C001Laptop, Mouse, Keyboard
C002Monitor, USB Hub
C003Headphone, Webcam, Microphone

STRING_AGG dengan ORDER BY

SQL
1SELECT
2 department,
3 STRING_AGG(employee_name, '; ' ORDER BY hire_date) as employees_by_seniority
4FROM `project.dataset.employees`
5GROUP BY department;

Menggabungkan nama karyawan diurutkan berdasarkan tanggal masuk.

Hasil
departmentemployees_by_seniority
EngineeringAlice; Bob; Charlie; Diana
MarketingEve; Frank; Grace

STRING_AGG dengan DISTINCT

SQL
1SELECT
2 order_date,
3 STRING_AGG(DISTINCT category, ', ' ORDER BY category) as categories_sold
4FROM `project.dataset.sales`
5GROUP BY order_date
6ORDER BY order_date DESC
7LIMIT 3;

Menampilkan kategori unik yang terjual per hari.

Hasil
order_datecategories_sold
2024-06-25Books, Electronics, Fashion
2024-06-24Electronics, Food, Home
2024-06-23Books, Fashion, Sports

Membuat JSON-like String

SQL
1SELECT
2 user_id,
3 '[' || STRING_AGG('"' || tag || '"', ', ') || ']' as tags_json
4FROM `project.dataset.user_tags`
5GROUP BY user_id;

Membuat format JSON array dari tags.

Hasil
user_idtags_json
U001["python", "sql", "data"]
U002["javascript", "react"]

Fungsi Terkait