PHPでのMYSQLについての質問です。

指定したカラムが重複しているレコードだけを取り出すSQLを教えてください。

例えば、このような会員テーブルがあったら、
重複しているのは山田なので、山田のIDである1、3が得られるようなSQLをお願いします。
┌─────────────────────
│ID│名前 │・・・
├────────────────────
│1 │山田 │
├────────────────────
│2 │田中 │
├────────────────────
│3 │山田 │
├────────────────────
│4 │佐藤 │
├────────────────────

回答の条件
  • 1人2回まで
  • 登録:2008/02/29 13:36:40
  • 終了:2008/02/29 23:06:04

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/02/29 13:57:31

ポイント50pt

MySQL のバージョンにもよるが。

 SELECT * FROM 会員 AS 会員1
JOIN 
 SELECT 名前 FROM 会員 AS 会員2 GROUP BY 名前 HAVING count(*) >= 2
  USING ( 名前 );
id:webuser

ありがとうございました。

2008/02/29 23:05:31
id:chuken_kenkou No.2

chuken_kenkou回答回数722ベストアンサー獲得回数542008/02/29 14:41:46

ポイント50pt

MySQL 4.1以降であれば、以下のような操作が可能です。


select * from t1
 where 名前 in(select 名前
                from t1
                group by 名前
                 having count(*)>1)
id:webuser

ありがとうございました。

2008/02/29 23:05:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません