タグ

MySQLとduplicateに関するishideoのブックマーク (2)

  • MySQLで重複する行を削除する - Qiita

    +----+-----------+-------+ | id | name | price | +----+-----------+-------+ | 1 | りんご | 100 | | 2 | りんご | 200 | | 3 | バナナ | 250 | | 4 | バナナ | 250 | ←削除したい | 5 | ぶどう | 100 | | 6 | ぶどう | 100 | ←削除したい | 7 | ぶどう | 120 | +----+-----------+-------+ DELETE FROM fruits WHERE id NOT IN (SELECT min_id from (SELECT MIN(id) AS min_id FROM fruits GROUP BY name, price) AS tmp); +----+-----------+-------+ | id |

    MySQLで重複する行を削除する - Qiita
  • [SQL]重複データを1件だけ残して削除する方法 - Qiita

    いつの間にか重複データが大量に保存されていて、データメンテをSQLで対応した時のメモです。 先人の知恵、すばらしいですね。 ※注釈 使っている環境によっては @yuba さんのSQLで実行できます。 残念ながら、MySQLではdelete文にテーブル別名を指定できません。 環境 MySQL 5.6.30 対応方法 ロジックは簡単で、重複を除いたデータを使ってそれ以外を削除します。 今回は残したいid(primary key)を生成して、それ以外のデータを削除します。 # (確認)残したいデータを検索する select min(id) from table_a group by column1,column2; # 残したいデータ以外を削除する # そのままだと削除できないので、サブクエリの中でテーブルを作成 delete from table_a where id not in ( sel

    [SQL]重複データを1件だけ残して削除する方法 - Qiita
  • 1