Aggregate

GROUP_CONCAT

MySQLMySQL

Menggabungkan nilai-nilai dari beberapa baris menjadi satu string. Mendukung pengurutan, pemisah kustom, dan penghapusan duplikat dengan DISTINCT.

Tipe hasil: TEXTDiperbarui: 7 Jan 2026

Syntax

SQL
GROUP_CONCAT([DISTINCT] expr [ORDER BY col [ASC|DESC]] [SEPARATOR str])

Parameter

exprstringwajib

Ekspresi atau kolom yang akan digabungkan

SEPARATORstringopsional

String pemisah antar nilai (default: koma)

Default: ,

Contoh Penggunaan

Menggabungkan Nama Produk

SQL
1SELECT category, GROUP_CONCAT(product_name) AS products
2FROM products
3GROUP BY category;

Menggabungkan semua nama produk per kategori dengan koma.

Hasil
Electronics: iPhone,Samsung,Sony

Dengan Custom Separator

SQL
1SELECT GROUP_CONCAT(tag SEPARATOR ' | ') AS all_tags
2FROM article_tags
3WHERE article_id = 1;

Menggabungkan tag dengan separator pipe.

Hasil
all_tags: tech | programming | mysql

Dengan ORDER BY

SQL
1SELECT department,
2 GROUP_CONCAT(name ORDER BY hire_date ASC SEPARATOR ', ') AS employees
3FROM employees
4GROUP BY department;

Menggabungkan nama karyawan diurutkan berdasarkan tanggal masuk.

Hasil
Sales: John, Alice, Bob

DISTINCT untuk Nilai Unik

SQL
1SELECT GROUP_CONCAT(DISTINCT city SEPARATOR '; ') AS cities
2FROM customers;

Menggabungkan kota unik saja tanpa duplikat.

Hasil
cities: Jakarta; Surabaya; Bandung