Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Dùng GROUP BY nối chuỗi trong MySQL và thiết lập dấu phân cách

Để 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)