我有一个带有SET字段的表,可以选择几个选项。我想选择至少设置了我指定的一个选项的所有行。
选项包括:A,B,C和D
第1行:A,B
第2行:A,C
第3行:C
第4行:D
我指定A
和C
,因此返回的行应为1,2和3
有什么想法吗?
答案 0 :(得分:0)
您可以使用FIND_IN_SET
,可以使用LIKE
:
使用FIND_IN_SET
,您可以执行以下操作:
SELECT * FROM myTable WHERE FIND_IN_SET('A', set_column_name)>0;
Read more about FIND_IN_SET here.
Live DEMO with the above.
使用LIKE
SELECT * FROM myTable WHERE set_column_name LIKE '%A%';
这将在整个列中搜索指定的字母。
Read more about LIKE here.
Live DEMO with the above.
您还可以将set_column_name = 'A'
用于单个确切的条目