表中有orders字段是JSON类型,存储这类似 [1, 2, 3]这样的id数组给定一个数组搜索条件[1, 2]怎么查出包含数组条件任意一项值的记录?
orders
[1, 2, 3]
[1, 2]
SELECT * FROM trade WHERE orders LIKE "%1%" OR orders LIKE "%2%";
像上面这个语句一样,但这是通过字符串搜的,效率也非常低下,想请问是否有效率高点的,JSON查询的方式?
JSON_CONTAINS 的第二个参数必须是字符串。
SELECT * FROM `trade` where JSON_CONTAINS(orders, '1','$')
1.4m articles
1.4m replys
5 comments
57.0k users