「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 最新の状態を維持しながら、MySQLの重複レコードを削除するにはどうすればよいですか?

最新の状態を維持しながら、MySQLの重複レコードを削除するにはどうすればよいですか?

2025-03-22に投稿されました
ブラウズ:841

How to Delete Duplicate Records in MySQL While Keeping the Latest?

最新の

をデータベースで保存しながら、重複したレコードを削除すると、特に一意の識別子を持つテーブルで重複したレコードを遭遇することが一般的です。 MySQLでは、電子メールが複製され、最新のIDの最新のIDのみを保持したい状況に直面する可能性があります。テーブル。ステップ。

  1. 実装:
  2. 列IDと電子メールでテストという名前の次のmysqlテーブルを検討してください: | ID |メール| | --- | --- | | 1 | aaa | | 2 | BBB | | 3 | CCC | | 4 | BBB | | 5 | DDD | | 6 | eee | | 7 | aaa | | 8 | aaa | | 9 | eee |
  3. 複製したメールを削除して最新の電子メールを保持するには、次のクエリを実行できます。 テストから 内側の結合( lastidとしてmax(id)を選択します テストから メールでグループ カウント(*)> 1 )duplic.email = test.emailの複製 ここで、test.id このクエリは、複製電子メールの最新のIDを取得し、すべての複製を古いIDで削除します。クエリを実行した後、テストテーブルは次のように表示されます。 ID |メール| | --- | --- | | 3 | CCC | | 4 | BBB | | 5 | DDD | | 8 | aaa | | 9 | eee |
最高のIDを持つ最新の複製のみが保存されており、テーブル内の最新の電子メールアドレスを維持するための要件を満たしています。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3