我有一个带有 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)