- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一部重複しているレコードの削除)
一部重複しているレコードの削除方法
このQ&Aのポイント
- 一部重複しているレコードを削除する方法について解説します。
- f3とf4が同じ値の場合に、f2の値がもっとも大きいレコードを残して他のレコードを削除するSQL文を考えます。
- 具体的にはf1の値が2,4,7のレコードを残すようにします。
- みんなの回答 (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が残ります
お礼
f1=6も残したかったのです。 ありがとうございました!