我的mysql表ordersdetail
中有一个列JSON
,类型为orderAnalysis
的列,如下例。
{ "id": 123, "items": [ { "id": 1623364501551, "product_id": 11931258628 }, { "id": 1623364534319, "product_id": 11931258630 }] }
{ "id": 124, "items": [ { "id": 1623364501552, "product_id": 11931258629 }, { "id": 1623364534320, "product_id": 11931258632 }] }
我想从行列中获取与给定ID相匹配的任何product_id
的行数据。我已经进行了研发,并获得了一些解决方案,当我尝试这些解决方案时,没有一个对我而言无效。
我尝试使用以下查询:-
#first query
SELECT ordersdetail FROM `orderAnalysis` WHERE JSON_SEARCH(ordersdetail->>'$.items[*].product_id', 'one', 11931258628)
#second query
SELECT ordersdetail FROM `orderAnalysis` WHERE ordersdetail->"$.items[*].product_id" = 11931258628
#third query
SELECT ordersdetail FROM `orderAnalysis` WHERE json_extract(ordersdetail, '$.items[*].product_id') = 11931258628
但是这些查询并没有帮助我获得结果。我希望将first row
作为结果输出。请帮我。
提前感谢