SELECT DISTINCT example_type FROM Table_name WHERE 80 IN(example_type);
我使用的值是66和80。
列的值有时是“66,80”,有时是“80,66”。
如果是搜索80,则只有当列为“80,66”(或“80”)时才返回匹配。
如果是搜索66,则只有当列为“66,80”(或“66”)时才返回匹配。
列类型设置为TEXT。
以下按预期工作:(两者都匹配)
.... 80英寸(66,80)......
.... 80英寸(80,66)......
我想将列的内容保留为CSV。
无论CSV的顺序如何,我需要对MySQL查询做什么才能使其工作?
答案 0 :(得分:0)
可能是,您可以使用以下where子句:
WHERE column_name like '%80%'
如果你的两个查询是正确的,那么你可以在mysql中使用union子句
SELECT ... FROM ... WHERE (your first condition)
UNION
SELECT ... FROM ... WHERE (your second condition)
答案 1 :(得分:0)
SELECT DISTINCT example_type FROM Table_name WHERE FIND_IN_SET(80,example_type);
这是基于最终代码:
WHERE ...a.is_special = 1
AND (a.foo_list = '' OR FIND_IN_SET($foo_id, a.foo_list))
AND (a.bar_list = '' OR FIND_IN_SET($bar_id, a.bar_list))
AND (a.baz_list = '' OR FIND_IN_SET($baz_id, a.baz_list))";