dポイントプレゼントキャンペーン実施中!

質問の内容はタイトルの件なのですが、詳細に説明させて頂きます。

テーブル名:sample
----------
id,type
----------
1,A
1,A
1,B
1,C
----------

上記のような4件のレコードが入ったテーブルがあったとします。
このテーブルのidでグループ化し、
--------------------------
SELECT id
FROM sample
GROUP BY id
HAVING count(type) = 3
--------------------------
のようにして、typeが3種類だけのレコード(A,B,Cのような)を取得したいのですが、
この方法だと、単純にレコード件数の4件が取れてしまいます。
どうにかAの重複を1つとして、うまく取得する方法は無いでしょうか。

よろしくお願い致します。
また、質問内容におかしな点などあればご指摘下さい。

A 回答 (2件)

すみませんなんか違う



SELECT id
FROM sample
GROUP BY id
HAVING count(distinct type) = 3

とするとユニークなtypeが拾えます
    • good
    • 0
この回答へのお礼

ありがとうございました!
欲しかったデータが取得出来ました!

お礼日時:2016/08/09 14:47

なんかロジックがおかしい気がしますが


単にこんなんではダメなの?

SELECT DISTINCT type
FROM sample
WHERE id=1;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!