SELECT
CONCAT("[",
GROUP_CONCAT(
CONCAT("{Name:'",`NAME`,"'"),
CONCAT("{price:'",`PRICE`,"'"),
CONCAT(",id:'",`ID`),"'}")
,"]")
AS json FROM goods;
表数据
id
name
price
1
大树
2
结果
[{Name:'大树'{price:'2',id:'1'}]
注意
这里的concat是
字符串拼接函数
而
group_concat则是集合函数
当有多个数据的时候
表数据
id
name
price
1
大树
2
2
哈哈
3
结果
[{Name:'大树'{price:'2',id:'1'},{Name:'哈哈'{price:'3',id:'2'}]
上面是简单的介绍下面就是一个深入的使用:利用groupconcat
和concat组合完成拼接成json
的任务
表数据
goods
id
name
price
1
大树
2
2
哈哈
3
order
goodid
num
1
2
1
1
2
2
SELECT CONCAT('[',GROUP_CONCAT('{',`ID`,',',`josn1`,'}'),']' ) AS result FROM goods JOIN (SELECT `goodid`,
GROUP_CONCAT(
CONCAT("{Num:'",`num`,"'}")
) AS josn1 FROM `order` GROUP BY `goodid`) AS `ordernum` ON `goodid`=`ID`
结果
[{1,{Num:'2'},{Num:'3'}},{2,{Num:'1'}}]