如何在 MySQL 中的 CONCAT 中使用 GROUP_CONCAT?

mysqlmysqli database更新于 2024/12/28 18:20:17

首先,让我们创建一个表。

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

插入记录

现在让我们插入一些记录。

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)

检查表中有多少条记录。

mysql> select *from GroupConcatenateDemo;

这是输出。

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

使用 GROUP_CONCAT 的语法

以下是连接记录的语法。

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

以下是示例。

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

以下输出显示我们已成功连接记录。

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

相关文章


有用资源