MySQL查询相当于“AND”,而“IN”是“OR”?

时间:2011-06-05 16:47:20

标签: mysql sql

我正在尝试查找一个选择关联表的每一行的查询,其中第二列表示必须与第一列匹配的不同值。

示例:我有X列和Y列。我想得到X的值,其中X是用指定的每个Y定义的。

x    y
======
a    1
a    2
b    1
a    3
c    2
c    3

SELECT DISTINCT x FROM table WHERE y AND (2, 3)

此查询当然无效。我希望以某种方式获得ac

由于我还试图更好地学习MySQL查询,如果您能提供一个解释,如果您能提供答案背后的逻辑,我将不胜感激。谢谢! :)

1 个答案:

答案 0 :(得分:11)

我希望这就是你要找的东西。如果您确认,我会向您解释查询。

select x
from table
where y in (2,3)
group by x
having count(distinct(y)) = 2