Tạo bảng quốc gia
mysql> CREATE TABLE DemoTable1371 (
-> Id INT,
-> CountryName VARCHAR(40)
-> );
Query OK, 0 rows affected (0.89 sec)
mysql> INSERT INTO DemoTable1371 VALUES(100,'US'),(100,'UK'),(101,'AUS'),(101,'Angola');
Dữ liệu
mysql> SELECT * FROM DemoTable1371;
+------+-------------+
| Id | CountryName |
+------+-------------+
| 100 | US |
| 100 | UK |
| 101 | AUS |
| 101 | Angola |
+------+-------------+
Truy vấn GROUP_CONCAT không cần GROUP BY
mysql> SELECT GROUP_CONCAT(CountryName SEPARATOR ',')
-> FROM DemoTable1371;
Kết quả: Một hàng, các quốc gia cách nhau bởi dấu phẩy
+-----------------------------------------+
| GROUP_CONCAT(CountryName SEPARATOR ',') |
+-----------------------------------------+
| US,UK,AUS,Angola |
+-----------------------------------------+
Lưu ý: Mặc định GROUP_CONCAT giới hạn 1024 ký tự. Tăng bằng SET SESSION group_concat_max_len = 1000000;. Nếu cần gom theo nhóm, thêm GROUP BY Id.