Mysql查询json字段的值


使用场景,数据表中字段为 json ,但是需要在 select 中,直接 count 出来有多少个

数据 table_a

CREATE TABLE `table_a` (
  `id` int(11) NOT NULL,
  `data` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `table_a` (`id`, `data`) VALUES (1, ' [{\"a\":1}]');
INSERT INTO `table_a` (`id`, `data`) VALUES (2, ' [{\"a\":2}]')
id data
1 [{“a”:1}]
2 [{“a”:1}]

查询

select json_extract(data,”$[0].a”) as a from table_a

结果

作者:admin  创建时间:2022-03-01 17:05
最后编辑:admin  更新时间:2023-04-10 15:46