选择1属性完全不同的所有行两次。 (MySQL)

时间:2018-10-02 21:41:59

标签: mysql sql database workbench

说我们有一张“颜色”表

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;

但它令人遗憾地给出了一个错误。

1 个答案:

答案 0 :(得分:2)

您很亲密:

SELECT id
FROM colours
GROUP BY id
HAVING COUNT(DISTINCT colour) = 2;