sqlite> SELECT value FROM
json_each('[{"name":"cat","type":"mammal"},{"name":"parrot","type":"bird"},{"name":"dog","type":"mammal"}]')
WHERE json_extract(value, '$.type') = 'mammal';
value
------------------------------
{"name":"cat","type":"mammal"}
{"name":"dog","type":"mammal"}
如果希望结果作为json数组而不是一组行,请使用 json_group_array() 聚合函数: SELECT json_group_array(value) FROM ...
1条答案
按热度按时间carvr3hs1#
你已经用mysql和sqlite标记了这个,所以我将掷硬币并给出sqlite的答案。
基本上,您需要从
json_each()
行值函数来迭代数组的每个元素,以及一个where子句来过滤您想要的内容(where就是where)json_extract()
发挥作用):如果希望结果作为json数组而不是一组行,请使用
json_group_array()
聚合函数:SELECT json_group_array(value) FROM ...