【MySQL】あるカラムが同じとき、別カラムの種類が複数あるものを抽出する

こんにちは。ぽこです!

今回は、あるカラムが同じとき、別カラムの種類が複数あるものを抽出する方法を紹介します。イメージとしては、一人で複数の会員番号を持っている人を抽出する際などに使用します。

実際のコード

次のようなテーブルをイメージします。

会員名会員番号電話番号ポイント
A0001111-11111
B0002222-22221
C0003333-33331
A0004111-11111
C0003333-33332
会員テーブル

ここで、会員名・電話番号が同じ人が、複数の会員番号を持っているケースを抽出したいとき、次のようなコードを実行します。

GROUP BYで会員名、電話番号が同じデータをまとめ、その中で会員番号の種類が1より大きい→2つ以上あるものに絞り込んで表示します。

COUNT(DISTINCT 会員番号)で、同じ会員番号は1つと数えるので、種類を数えることができます。

上記のコードを実行すると、結果は次になります。

会員番号電話番号
A111-1111
タイトルとURLをコピーしました