我有下表
Id | Userdefined01
------------------------
1 | 1,2,4,5
2 | 2,5
3 | 4,6,8
4 | 1,5
我想编写一个查询来查找userdefined01字段中值为2和5的所有ID。这可能吗?
答案 0 :(得分:9)
使用FIND_IN_SET()
- mysql的内置函数来搜索CSV内的字符串。
SELECT *
FROM tableName
WHERE FIND_IN_SET('2', Userdefined01) > 0 AND
FIND_IN_SET('5', Userdefined01) > 0
如果您有时间更改架构,则需要对其进行非规范化。查看示例,它可能是Many-to-Many
关系,因此您可以将其分解为3表设计。