我的列中有以下json数组:
[
{
"day": 1,
"requests": 23
},
{
"day": 2,
"requests": 5
},
{
"day": 2,
"requests": 9
}
]
我想要有第1
天的行.我已经尝试过用
SELECT * FROM api WHERE usages->'$[*].day' = JSON_ARRAY(1)
但它不返回任何结果。
select usages->'$[*].day' from api
显示它是 JSON 数组[1,2,2]
。
where usages->'$[*].day' = JSON_ARRAY(1)
试图将[1,2,2]
与[1]
相匹配,但事实并非如此。
相反,请使用 JSON_CONTAINS 在数组中查找值。
where json_contains(usages->'$[*].day', "1");