说我们有一张“颜色”表
id colour
1 'Blue'
2 'Red'
2 'Red'
3 'Blue'
3 'Red'
4 'Blue'
4 'Red'
4 'Blue'
4 'Yellow'
5 'Blue'
5 'Yellow'
查询应返回ID 3和5,因为它们具有两种完全不同的颜色。颜色不能相同,并且不同颜色的数量必须恰好是2。
我尝试过:
SELECT id FROM colours WHERE COUNT(DISTINCT colour) = 2;
但它令人遗憾地给出了一个错误。
答案 0 :(得分:2)
您很亲密:
SELECT id
FROM colours
GROUP BY id
HAVING COUNT(DISTINCT colour) = 2;