我有以下mysql表:
data
1
2
3
4
5
6
7
8
9
我想提供我的select语句与两个单独的列表
排除清单:
1,4,5,7
包含列表:
1,2,3,4,5,6,7
我尝试了以下陈述:
Select * FROM table WHERE data NOT IN ('1,4,5,7') AND data IN ('1,2,3,4,5,6,7)
需要以下输出:
data
2
3
6
但我没有收到任何结果。我知道我通过了一个不可能的条件,但我不知道如何格式化查询以返回预期的结果。
有人能告诉我我做错了什么吗?
3条答案
按热度按时间dbf7pr2w1#
使用
IN (1,2,3)
而不是IN ('1,2,3')
因为前者与个人价值观相比较1
,2
以及3
而后者则与文本字符串相反1,2,3
.2mbi3lxu2#
IN
获取值列表,而不是包含分隔值列表的字符串。示例:x IN (1, 2, 3)
x IN ('a', 'b', 'c')
piah890a3#
selectfrom((selectfrom table where data not in('1,4,5,7'))作为表where data in('1,2,3,4,5,6,7'))
你再试试看