Để nối chuỗi với GROUP BY trong MySQL, dùng GROUP_CONCAT() với tham số SEPARATOR (dấu phẩy, khoảng trắng...).
Cú pháp:
SELECT yourColumnName1,GROUP_CONCAT(yourColumnName2 SEPARATOR 'yourValue') as anyVariableName FROM yourTableName GROUP BY yourColumnName1;
Tạo bảng:
mysql> create table GroupConcatenateDemo -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.99 sec)
Chèn dữ liệu:
mysql> insert into GroupConcatenateDemo values(10,'Larry'); ... mysql> insert into GroupConcatenateDemo values(11,'Sam');
Hiển thị dữ liệu:
mysql> select *from GroupConcatenateDemo;
+------+-------+ | Id | Name | +------+-------+ | 10 | Larry | | 11 | Mike | | 12 | John | | 10 | Elon | | 10 | Bob | | 11 | Sam | +------+-------+ 6 rows in set (0.00 sec)
Truy vấn GROUP BY và GROUP_CONCAT với dấu phẩy:
mysql> select Id,group_concat(Name SEPARATOR ',') as GroupConcatDemo from GroupConcatenateDemo -> group by Id;
+------+-----------------+ | Id | GroupConcatDemo | +------+-----------------+ | 10 | Larry,Elon,Bob | | 11 | Mike,Sam | | 12 | John | +------+-----------------+ 3 rows in set (0.00 sec)