Đối với điều này, hãy sử dụng GROUP_CONCAT (). Đối với chỉ 1 giá trị, hãy làm việc với mệnh đề WHERE của MySQL. Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable ( PlayerName varchar(40), PlayerStatus tinyint(1) ); Query OK, 0 rows affected (0.60 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable values('Chris',1); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('David',0); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('Sam',1); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('Carol',1); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('Bob',0); 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 DemoTable;
Điều này sẽ tạo ra kết quả sau -
+------------+--------------+ | PlayerName | PlayerStatus | +------------+--------------+ | Chris | 1 | | David | 0 | | Sam | 1 | | Carol | 1 | | Bob | 0 | +------------+--------------+ 5 rows in set (0.00 sec)
Sau đây là truy vấn để nhóm nối và đặt dữ liệu vào một hàng duy nhất trên cơ sở 1 giá trị trong cột tương ứng -
mysql> select group_concat(PlayerName) from DemoTable where PlayerStatus=1;
Điều này sẽ tạo ra kết quả sau -
+--------------------------+ | group_concat(PlayerName) | +--------------------------+ | Chris,Sam,Carol | +--------------------------+ 1 row in set (0.00 sec)