某个字段a有个值为
aaa,bbb
我希望查找该字段匹配这两个标签的所有值,如
aaa,bbb,ccc
aaa,ddd,bbb
bbb,eee,fff,aaa
就是只要含有aaa的同时也含有bbb
最有效率的查询方法是什么
注意:aaa,bbb不一定只有这两个还可能是多个
select * from A where a like '%aaa%' UNION select * from A where a like '%bbb%' 。使用联合方法查询,比运用and语句要高效很多。
WHERE FIND_IN_SET('aaa','aaa,bbb,ccc') AND FIND_IN_SET('bbb','aaa,bbb,ccc')
注意:aaa,bbb不一定只有这两个还可能是多个
WHERE FIND_IN_SET('aaa','aaa,bbb,ccc')
AND FIND_IN_SET('bbb','aaa,bbb,ccc')
AND FIND_IN_SET('ccc','aaa,bbb,ccc')
...
参见: 在MySQL字段中使用逗号分隔符