在 MySQL 中将一行中的所有列值用逗号分隔后全部显示出来?


为此,使用 GROUP_CONCAT() 和 CONCAT()。让我们首先创建一个表 -

mysql> create table DemoTable1807
     (
     Id int
     );
Query OK, 0 rows affected (0.00 sec)

使用 insert 命令在表中插入一些记录 -

mysql> insert into DemoTable1807 values(101);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1807 values(102);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1807 values(103);
Query OK, 1 row affected (0.00 sec)

使用 select 语句从表中显示所有记录 -

mysql> select * from DemoTable1807;

这将产生以下输出 -

+------+
| Id   |
+------+
|  101 |
|  102 |
|  103 |
+------+
3 rows in set (0.00 sec)

以下是对 SQL 查询进行 MySQL 转换的查询 -

mysql> select group_concat(concat('[',Id,']'))  from DemoTable1807;

这将产生以下输出 -

+----------------------------------+
| group_concat(concat('[',Id,']')) |
+----------------------------------+
| [101],[102],[103]                |
+----------------------------------+
1 row in set (0.00 sec)

更新日期:24-12-2019

1K+ 浏览量

开启你的 职业

完成本课程即可获得认证

开始
广告
© . All rights reserved.