- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLでご質問があります)
SQL初心者のための重複データの抽出方法
このQ&Aのポイント
- SQL初心者の方に向けて、重複するデータの抽出方法についてご説明します。
- 具体的なデータを用いて、同じコードが複数ある場合に「カラム1」が複数の値を持つデータを抽出する方法を解説します。
- データを抽出する際には、WHERE句とGROUP BY句を使用して条件を指定し、重複するデータを取得することができます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
select * from テーブル where コード in ( select コード from テーブル t where exists ( select 1 from テーブル t2 where t.コード = b2.コード and t.カラム1 <> t2.カラム1 ) group by コード having count(*) > 1 ) これでもいいでしょうか。
その他の回答 (3)
- nora1962
- ベストアンサー率60% (431/717)
回答No.3
SELECT t.* FROM テーブル as t where exists ( select 1 from テーブル as t2 where t.コード = t2.コード and t.カラム1 <> t2.カラム1 ) and t.コード in ( select コード from テーブル group by コード having count(*) > 1 ); でどうでしょう。
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.2
- Siegrune
- ベストアンサー率35% (316/895)
回答No.1
select a.コード,a.カラム1 from テーブル1 a where a.コード in (select b.コード from (select c.コード,count(distinct c.カラム1) cnt from テーブル1 c) b where b.cnt > 1 ) in()内はhaving使えたら in (select コード,count(distinct カラム1) cnt from テーブル1 having ※) でできるのだけど、 (※は、cnt か count(distinct カラム1) か。) Accessで使えたかどうかも書き方も覚えていないのでとりあえず上の方ならできるはず。
質問者
お礼
とても参考になりました ありがとうございます! すばらいしです☆
お礼
なるほど、色々ありますね_φ(・_・ やはり素人の私にとっては複雑でした^^; 質問させて頂き良かったです!! ありがとうございます