MySQL 如何使用group_concat创建JSON格式
你可以使用MySQL中的group_concat()函数来创建JSON格式。其语法如下 −
SELECT 你的列名1,
GROUP_CONCAT(CONCAT('{anytName:"', 你的列名, '",
anyName:"',你的列名,'"}')) 任意变量名
from 你的表名
group by 你的列名1;
Mysql
为了理解上述语法,让我们先创建一张表。创建表的查询语句如下 −
mysql> create table JsonFormatDemo
-> (
-> UserId int,
-> UserName varchar(100),
-> UserEmail varchar(100)
-> );
Query OK, 0 rows affected (0.99 sec)
Mysql
使用插入命令向表中插入一些记录。插入记录的查询语句如下 −
mysql> insert into JsonFormatDemo values(101,'John','John@gmail.com');
Query OK, 1 row affected (0.19 sec)
mysql> insert into JsonFormatDemo values(101,'Bob','John@gmail.com');
Query OK, 1 row affected (0.18 sec)
mysql> insert into JsonFormatDemo values(102,'Carol','Carol@gmail.com');
Query OK, 1 row affected (0.12 sec)
mysql> insert into JsonFormatDemo values(103,'Sam','Sam@gmail.com');
Query OK, 1 row affected (0.15 sec)
Mysql
使用select语句显示表中的所有记录。查询语句如下 −
mysql> select *from JsonFormatDemo;
Mysql
阅读更多:MySQL 教程
输出
+--------+----------+-----------------+
| UserId | UserName | UserEmail |
+--------+----------+-----------------+
| 101 | John | John@gmail.com |
| 101 | Bob | John@gmail.com |
| 102 | Carol | Carol@gmail.com |
| 103 | Sam | Sam@gmail.com |
+--------+----------+-----------------+
共 4 行 (0.00 秒)
Mysql
使用group_concat()函数创建JSON格式的查询语句如下 −
mysql> select UserId,
-> GROUP_CONCAT(CONCAT('{Name:"', UserName, '", Email:"',UserEmail,'"}')) JsonFormat
-> from JsonFormatDemo
-> group by UserId;
Mysql
输出
+--------+----------------------------------------------------------------------------+
| UserId | JsonFormat |
+--------+----------------------------------------------------------------------------+
| 101 | {Name:"John", Email:"John@gmail.com"},{Name:"Bob", Email:"John@gmail.com"} |
| 102 | {Name:"Carol", Email:"Carol@gmail.com"} |
| 103 | {Name:"Sam", Email:"Sam@gmail.com"} |
+--------+----------------------------------------------------------------------------+
共 3 行 (0.00 秒)
Mysql