我正在尝试查找一个选择关联表的每一行的查询,其中第二列表示必须与第一列匹配的不同值。
示例:我有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)
此查询当然无效。我希望以某种方式获得a
和c
。
由于我还试图更好地学习MySQL查询,如果您能提供一个解释,如果您能提供答案背后的逻辑,我将不胜感激。谢谢! :)
答案 0 :(得分:11)
我希望这就是你要找的东西。如果您确认,我会向您解释查询。
select x
from table
where y in (2,3)
group by x
having count(distinct(y)) = 2