MySQL 如何使用GROUP_CONCAT()和CONCAT()在同一个查询中连接字符串
CONCAT()方法用于合并,而GROUP_CONCAT()用于将一组字符串连接成单个字符串。
让我们首先创建一个表 –
mysql> create table DemoTable799 (
UserId int,
UserName varchar(100),
UserAge int
);
查询成功,受影响的行数:0(0.56秒)
使用insert命令在表中插入一些记录-
mysql> insert into DemoTable799 values(101,'John',21);
查询成功,受影响的行数:1(0.18秒)
mysql> insert into DemoTable799 values(102,'Chris',26);
查询成功,受影响的行数:1(0.22秒)
mysql> insert into DemoTable799 values(101,'Robert',23);
查询成功,受影响的行数:1(0.15秒)
mysql> insert into DemoTable799 values(103,'David',24);
查询成功,受影响的行数:1(0.10秒)
mysql> insert into DemoTable799 values(101,'Mike',29);
查询成功,受影响的行数:1(0.18秒)
使用select语句显示表中的所有记录-
mysql> select *from DemoTable799;
这将产生以下输出-
+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
| 101 | John | 21 |
| 102 | Chris | 26 |
| 101 | Robert | 23 |
| 103 | David | 24 |
| 101 | Mike | 29 |
+--------+----------+---------+
5行记录(0.00秒)
以下是使用CONCAT()和GROUP_CONCAT()连接字符串的查询-
mysql> select UserId,GROUP_CONCAT(CONCAT('MR.', UserName)) from DemoTable799 group by UserId;
这将产生以下输出-
+--------+---------------------------------------+
| UserId | GROUP_CONCAT(CONCAT('MR.', UserName)) |
+--------+---------------------------------------+
| 101 | MR.John,MR.Robert,MR.Mike |
| 102 | MR.Chris |
| 103 | MR.David |
+--------+---------------------------------------+
3行记录(0.00秒)
阅读更多:MySQL 教程
极客教程