• ベストアンサー
※ 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文を作成します。

質問者が選んだベストアンサー

  • ベストアンサー
  • molt461
  • ベストアンサー率75% (3/4)
回答No.1

これでいかがでしょうか。 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;

hope9000
質問者

お礼

皆さん、回等ありがとうございました。 とても参考になりました。

回答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) でどうでしょうか。

関連するQ&A