MySQL 如何将不同查询结果合并成一个字符串
使用MySQL的group_concat()函数进行连接。先创建一个表 –
mysql> create table DemoTable
-> (
-> Subject varchar(10)
-> );
Query OK, 0 rows affected (0.43 sec)
Mysql
使用insert命令向表格插入一些记录 –
mysql> insert into DemoTable values('C');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('C++');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable values('C++');
Query OK, 1 row affected (0.06 sec)
mysql> insert into DemoTable values('MongoDB');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('MySQL');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('MongoDB');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('MongoDB');
Query OK, 1 row affected (0.34 sec)
mysql> insert into DemoTable values('Java');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('Java');
Query OK, 1 row affected (0.10 sec)
使用select语句显示表格中的所有记录:
Mysql
mysql> select *from DemoTable;
Mysql
阅读更多:MySQL 教程
输出
这将产生以下输出 –
+---------+
| Subject |
+---------+
| C |
| C++ |
| C++ |
| MongoDB |
| MySQL |
| MongoDB |
| MongoDB |
| Java |
| Java |
+---------+
9 rows in set (0.00 sec)
Mysql
如下是将SQL不同查询结果连接成一个字符串的查询语句 –
mysql> select group_concat(tbl.sub) from (select Subject sub from DemoTable group by Subject ) tbl;
Mysql
输出
这将产生以下输出 –
+--------------------------+
| group_concat(tbl.sub) |
+--------------------------+
| C,C++,MongoDB,MySQL,Java |
+--------------------------+
1 row in set (0.04 sec)
Mysql