MYSQL查询返回JSON格式的字符串

表数据:

查询展示效果:

{
	"class_no": [
		 {"student_name": "张三", "sex": "男", "age": "12", "class": "一班"}
		,{"student_name": "李四", "sex": "男", "age": "12", "class": "一班"}
		,{"student_name": "王五", "sex": "男", "age": "11", "class": "一班"}
		,{"student_name": "赵六", "sex": "女", "age": "13", "class": "一班"}
		,{"student_name": "钱七", "sex": "男", "age": "14", "class": "二班"}
		,{"student_name": "王八", "sex": "女", "age": "15", "class": "二班"}
	]
}

查询方式:

SELECT CONCAT("{\"class_no\":[",GROUP_CONCAT(a.msg),"]}") FROM 
(
SELECT 
class_no
,
GROUP_CONCAT(
"{"
"\"student_name\":\"",student_name,"\",",
"\"sex\":\"",sex,"\",",
"\"age\":\"",age,"\",",
"\"class\":\"",class_no,"\"","}"
) msg
FROM student_info  GROUP BY class_no
)a

注意:以上SQL查询方法是使用了

GROUP_CONCAT()

该函数有长度限制,一般默认长度为1024,可以使用这篇博客(https://blog.csdn.net/qq_39706570/article/details/103999965)轻松修改长度范围。

备注:小编写这篇博客不易,希望大家能给我点个赞,谢谢。

发布了93 篇原创文章 · 获赞 83 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_39706570/article/details/104021291