本文介绍: mysql8.0 提取json数据转为行。仅适用于mysql8.0,之前的版本支持JSON_TABLE函数

仅适用于mysql8.0,之前的版本支持JSON_TABLE函数

数据结构:

id name jsonarr
1 张三 [{“daystr“: “2023-12-01″,”score“: “53”},{“daystr“: “2023-12-02″,”score“: “78”}]
2 李四 [{“daystr“: “2023-12-01″,”score“: “65”},{“daystr“: “2023-12-02″,”score“: “68”}]

SQL:

SELECT
	id,name,t.daystr as '日期',t.v as '成绩数据'
FROM
	tableName as temp,
	JSON_TABLE(temp.jsonarr,'$[*]' COLUMNS (daystr varchar(20) PATH '$.daystr ',v json PATH '$')) t 
	

查询结果

id name 日期 成绩数据
1 张三 2023-12-01 {“daystr“: “2023-12-01″,”score“: “53”}
1 张三 2023-12-02 {“daystr“: “2023-12-02″,”score“: “78”}
2 李四 2023-12-01 {“daystr“: “2023-12-01″,”score“: “65”}
2 李四 2023-12-02 {“daystr“: “2023-12-02″,”score“: “68”}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注