エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
[SQL]重複データを1件だけ残して削除する方法 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
[SQL]重複データを1件だけ残して削除する方法 - Qiita
いつの間にか重複データが大量に保存されていて、データメンテをSQLで対応した時のメモです。 先人の知... いつの間にか重複データが大量に保存されていて、データメンテを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