Đối với điều này, bạn có thể sử dụng CONCAT_WS () cùng với GROUP_CONCAT (). Trước tiên, hãy để chúng tôi tạo một
mysql> create table DemoTable2016 -> ( -> UserId int, -> UserName varchar(20) -> ); Query OK, 0 rows affected (0.51 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable2016 values(1,'Chris'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable2016 values(2,'Bob'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable2016 values(1,'David'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable2016 values(2,'Carol'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable2016 values(1,'Sam'); Query OK, 1 row affected (0.14 sec)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select *from DemoTable2016;
Điều này sẽ tạo ra kết quả sau -
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | Chris | | 2 | Bob | | 1 | David | | 2 | Carol | | 1 | Sam | +--------+----------+ 5 rows in set (0.00 sec)
Đây là truy vấn để nối các bản ghi trong một hàng được phân tách bằng một ký tự đặc biệt -
mysql> select group_concat(concat_ws('-',UserName,UserId)) from DemoTable2016 group by UserId;
Điều này sẽ tạo ra kết quả sau -
+----------------------------------------------+ | group_concat(concat_ws('-',UserName,UserId)) | +----------------------------------------------+ | Chris-1,David-1,Sam-1 | | Bob-2,Carol-2 | +----------------------------------------------+ 2 rows in set (0.00 sec)