如何正确格式化重叠的mysql in和notin条件

bis0qfac  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(270)

我有以下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

但我没有收到任何结果。我知道我通过了一个不可能的条件,但我不知道如何格式化查询以返回预期的结果。
有人能告诉我我做错了什么吗?

dbf7pr2w

dbf7pr2w1#

使用 IN (1,2,3) 而不是 IN ('1,2,3') 因为前者与个人价值观相比较 1 , 2 以及 3 而后者则与文本字符串相反 1,2,3 .

2mbi3lxu

2mbi3lxu2#

IN 获取值列表,而不是包含分隔值列表的字符串。示例:
x IN (1, 2, 3) x IN ('a', 'b', 'c')

piah890a

piah890a3#

selectfrom((selectfrom table where data not in('1,4,5,7'))作为表where data in('1,2,3,4,5,6,7'))
你再试试看

相关问题