MySQL 如何使用group_concat创建JSON格式

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册