小编Rus*_*rtM的帖子

如何通过某些条件从mysql的JSON数组字段中选择JSON对象

我有一个带有 JSON 字段的表,其中包含 JSON 对象数组。我需要根据某些条件选择对象。

创建并填充表格:

CREATE TABLE test (
    id INT AUTO_INCREMENT PRIMARY KEY,
    json_list JSON
);

INSERT INTO test(json_list) VALUES
("{""list"": [{""type"": ""color"", ""value"": ""red""}, {""type"": ""shape"", ""value"": ""oval""}, {""type"": ""color"", ""value"": ""green""}]}"),
("{""list"": [{""type"": ""shape"", ""value"": ""rect""}, {""type"": ""color"", ""value"": ""olive""}]}"),
("{""list"": [{""type"": ""color"", ""value"": ""red""}]}")
;
Run Code Online (Sandbox Code Playgroud)

现在我需要从所有行中选择带有type=的所有对象color

我想看到这个输出:

id  extracted_value
1   {"type": "color", "value": "red"}
1   {"type": "color", "value": "green"}
2   {"type": "color", "value": "olive"}
3   {"type": "color", "value": "red"}
Run Code Online (Sandbox Code Playgroud)

得到这个也很好:

id …
Run Code Online (Sandbox Code Playgroud)

mysql arrays json mysql-5.7

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

arrays ×1

json ×1

mysql ×1

mysql-5.7 ×1