MySQL数据库JSON数组拆分

用SQL将 [{"name":"25岁及以下","value":1},{"name":"36-40岁","value":2},{"name":"31-35岁","value":3}] 中的name和value提取出来

MySQL数据库JSON数组拆分_第1张图片

1、创建表


create table json_test (id int ,f varchar(100)); 

insert into json_test values(1,'[{"name":"25岁及以下","value":1},{"name":"36-40岁","value":2},{"name":"31-35岁","value":3}]');



2、SQL语句

select 
json_extract(f,concat("$[",ht.help_topic_id,"].name")) as name, 
json_extract(f,concat("$[",ht.help_topic_id,"].value")) as value
 from json_test jt 
 inner join 
 mysql.help_topic ht 
ON ht.help_topic_id < JSON_LENGTH(jt.f)

3、显示结果

MySQL数据库JSON数组拆分_第2张图片

你可能感兴趣的:(MySQL,数据库,mysql,json)