sql—选择1个属性完全不同的所有行两次(mysql数据库)

f0brbegy  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(312)

假设我们有一张table“颜色”

id    colour
1     'Blue'
2     'Red'
2     'Red'
3     'Blue'
3     'Red'
4     'Blue'
4     'Red'
4     'Blue'
4     'Yellow'
5     'Blue'
5     'Yellow'

查询应该返回id3和id5,因为它们正好有两种不同的颜色。颜色不能相同,不同颜色的数量必须正好是2。
我试过这个:

SELECT id FROM colours WHERE COUNT(DISTINCT colour) = 2;

但遗憾的是,它出现了一个错误。

wlsrxk51

wlsrxk511#

你很接近:

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

相关问题