- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つのフィールドの値が同じレコードをひとつと見なす)
重複フィールドのレコードを抽出する方法
このQ&Aのポイント
- field1とfield2の値が他のレコードと重複している場合、ひとつのデータとして返す方法について説明します。
- 質問文章のデータテーブルにはid、field1、field2の3つのフィールドがあります。field1とfield2の値が同じレコードをひとつとみなし、重複している場合に抽出する方法を示します。
- 例えば、id1とid2のfield1とfield2の値が同じであるため、ひとつのデータとして返します。しかし、id3はfield2の値が異なるため、抽出の対象となります。同様に、id4、id5、id6もfield2の値が異なるため、全てのレコードを返します。最後に、id7、id8、id9はfield1とfield2が同じ値であるため、ひとつのデータとして返します。以上の要素を考慮して、重複フィールドのレコードを抽出するSQL文を作成します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
これでいかがでしょうか。 SELECT id FROM ( SELECT min( id ) as id , field1 , field2 FROM tables GROUP BY field1 , field2 ORDER BY id ) AS result みればわかるかと思いますがminをmaxにすれば同一項目内の最大のIDで持ってきます。
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.3
idだけを拾うならこれで十分 select min(id) as id from tb group by field1,field2;
- 原沢 信道(@nharasawa)
- ベストアンサー率53% (90/168)
回答No.2
select id from tb t1 where id=(select min(id) from tb t2 where t1.fild1=t2.fild1 and t1.fild2=t2.fild2) でどうでしょうか。
お礼
皆さん、回等ありがとうございました。 とても参考になりました。