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

MySQL: GROUP_CONCAT gom tên người chơi có PlayerStatus = 1 vào một hàng

Mục tiêu

Chỉ lấy các bản ghi có PlayerStatus = 1 và nối tên người chơi thành một chuỗi đơn lẻ bằng GROUP_CONCAT().

1. Tạo bảng

mysql> create table DemoTable (
    PlayerName varchar(40),
    PlayerStatus tinyint(1)
);
Query OK, 0 rows affected (0.60 sec)

2. Chèn dữ liệu

mysql> insert into DemoTable values('Chris',1);
mysql> insert into DemoTable values('David',0);
mysql> insert into DemoTable values('Sam',1);
mysql> insert into DemoTable values('Carol',1);
mysql> insert into DemoTable values('Bob',0);

3. Xem dữ liệu

mysql> select * from DemoTable;
+------------+--------------+
| PlayerName | PlayerStatus |
+------------+--------------+
| Chris      | 1            |
| David      | 0            |
| Sam        | 1            |
| Carol      | 1            |
| Bob        | 0            |
+------------+--------------+
5 rows in set (0.00 sec)

4. Truy vấn GROUP_CONCAT với điều kiện

mysql> select group_concat(PlayerName) from DemoTable where PlayerStatus = 1;

Kết quả:

+--------------------------+
| group_concat(PlayerName) |
+--------------------------+
| Chris,Sam,Carol          |
+--------------------------+
1 row in set (0.00 sec)

Mở rộng: Có thể thêm SEPARATOR '; ' để đổi dấu phân cách.