Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để sử dụng GROUP_CONCAT trong CONCAT trong MySQL?

Trước tiên, hãy để chúng tôi tạo một bảng.

mysql> create table GroupConcatenateDemo
-> (
-> id int,
-> FirstName varchar(100),
-> Score int
-> );
Query OK, 0 rows affected (0.61 sec)

Chèn bản ghi

Bây giờ hãy để chúng tôi chèn một số bản ghi.

mysql> insert into GroupConcatenateDemo values(1,'John',94);
Query OK, 1 row affected (0.16 sec)

mysql> insert into GroupConcatenateDemo values(2,'Bob',98);
Query OK, 1 row affected (0.16 sec)

mysql> insert into GroupConcatenateDemo values(4,'Carol',100);
Query OK, 1 row affected (0.20 sec)

Để kiểm tra xem có bao nhiêu bản ghi trong bảng.

mysql> select *from GroupConcatenateDemo;

Đây là kết quả đầu ra.

+------+-----------+-------+
| id   | FirstName | Score |
+------+-----------+-------+
| 1    | John      | 94    |
| 2    | Bob       | 98    |
| 3    | Carol     | 100   |
+------+-----------+-------+
3 rows in set (0.00 sec)

Cú pháp sử dụng GROUP_CONCAT

Sau đây là cú pháp để nối các bản ghi.

Select column_name1,group_concat(concat(`Column_name2`,'separatorValue',`Column_name3`) separator 'separatorValue')
as AliasName yourTableName group by column_name1;

Sau đây là một ví dụ.

mysql> SELECT
-> id,group_concat(concat(`FirstName`,':',`score`) separator ',')
-> as FirstNameAndScore from GroupConcatenateDemo group by id;

Đây là kết quả cho thấy chúng tôi đã nối các bản ghi thành công.

+------+-------------------+
| id   | FirstNameAndScore |
+------+-------------------+
| 1    | John:94           |
| 2    | Bob:98            |
| 3    | Carol:100         |
+------+-------------------+
3 rows in set (0.00 sec)