给定一个看起来像这样的数据集。
ID_no | Color
----------------
1 | Blue
1 | Blue
2 | Green
2 | Blue
3 | Red
4 | Red
4 | Blue
如何仅返回具有一种唯一颜色的ID?即
ID_no | Color
----------------
1 | Blue
1 | Blue
3 | Red
我试过
select ID_no, color from table
having count(unique(color)) = 1
GROUP BY ID_no
但这似乎不起作用,有人可以用SQL语法来帮我解决这个问题吗?
答案 0 :(得分:2)
使用group by
和having
:
select id_no
from t
group by id_no
having min(color) = max(color);
答案 1 :(得分:1)
希望这有帮助。
SELECT ID, color FROM <tablename> GROUP BY ID HAVING MIN(color) =
MAX(color);