比如我有一个表
id name class
1 张三 1,3,7,8
2 李四 2,3,8,9
3 王五 4,5,3,7
4 赵六 3,4,5,6
5 杨七 1,2,5,8
6 冯八 3,1,2,7
我要通过class的一个特殊条件来查询出结果,比如我选择了3,9,4,我如何查出满足不连续的包含这三个分别字符的列。也就是以上数据中只要里面包含3,9,4就查询出来,并不一定要连续3,9,4.我想实现的就是不要连续字符。结果应该是
id name class
1 张三 1,3,7,8
2 李四 2,3,8,9
3 王五 4,5,3,7
4 赵六 3,4,5,6
如何实现这个查询条件。LIKE,find_in_set都不行,他们只能查询连续的一串字符,不能拆分对比。
id name class
1 张三 1,3,7,8
2 李四 2,3,8,9
3 王五 4,5,3,7
4 赵六 3,4,5,6
5 杨七 1,2,5,8
6 冯八 3,1,2,7
我要通过class的一个特殊条件来查询出结果,比如我选择了3,9,4,我如何查出满足不连续的包含这三个分别字符的列。也就是以上数据中只要里面包含3,9,4就查询出来,并不一定要连续3,9,4.我想实现的就是不要连续字符。结果应该是
id name class
1 张三 1,3,7,8
2 李四 2,3,8,9
3 王五 4,5,3,7
4 赵六 3,4,5,6
如何实现这个查询条件。LIKE,find_in_set都不行,他们只能查询连续的一串字符,不能拆分对比。
id name class1 class2 class3 class4
1 张三 1 3 7 8
2 李四 2 3 8 9
查询的时候用逻辑或就行。仅供参考,希望对你有帮助!
是这么个意思?
那么
select * from user, class where find_in_set(class.id, user.class) and class.id in (3,9,4)
不就可以了么?