2017-11-09 13 views
0

このようなデータセットがあれば、IDごとに一定の列値を持つSQL選択行

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構文で私を助けることができ、動作するようには思えないのですか?

答えて

2

使用group byhaving

select id_no 
from t 
group by id_no 
having min(color) = max(color); 
1

は、この情報がお役に立てば幸いです。

SELECT ID, color FROM <tablename> GROUP BY ID HAVING MIN(color) = 
MAX(color); 
関連する問題