• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一部重複しているレコードの削除)

一部重複しているレコードの削除方法

このQ&Aのポイント
  • 一部重複しているレコードを削除する方法について解説します。
  • f3とf4が同じ値の場合に、f2の値がもっとも大きいレコードを残して他のレコードを削除するSQL文を考えます。
  • 具体的にはf1の値が2,4,7のレコードを残すようにします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>f1が2,4,7のものを残したい この場合、f1=6のデータは残しますか?残しませんか? とりあえずフロー的にはこんな感じで DELETE h0 FROM hoge AS h0 INNER JOIN ( SELECT f1 FROM hoge AS h1 INNER JOIN ( SELECT f3,f4,MAX(f2) AS max_f2 FROM hoge GROUP BY f3,f4 ) AS h2 ON h1.f3=h2.f3 AND h1.f4=h2.f4 AND h1.f2!=h2.max_f2 ) as temp USING(f1) これだと、f1=2,4,6,7が残ります

nishi0005
質問者

お礼

f1=6も残したかったのです。 ありがとうございました!

関連するQ&A