"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment supprimer des enregistrements en double dans MySQL tout en gardant le dernier?

Comment supprimer des enregistrements en double dans MySQL tout en gardant le dernier?

Publié le 2025-03-22
Parcourir:156

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

Suppression des enregistrements en double dans MySQL tout en préservant les derniers

dans une base de données, il est courant de rencontrer des enregistrements en double, en particulier dans les tableaux avec des identifiants uniques. Dans MySQL, vous pouvez faire face à une situation où les e-mails sont dupliqués, et vous souhaitez conserver uniquement le dernier avec les étapes suivantes. Le dernier ID pour chaque e-mail en double:

pour chaque e-mail en double, récupérez l'ID le plus élevé, qui représente l'insertion la plus récente.

    Supprimer des doublons avec des ID plus anciens:
  1. Supprimer tous Step.
  2. implémentation:
  3. Considérez la table mysql suivante nommée Test avec les colonnes ID et Email:
  4. | ID | Courriel | | --- | --- | | 1 | aaa | | 2 | BBB | | 3 | CCC | | 4 | BBB | | 5 | DDD | | 6 | Eee | | 7 | aaa | | 8 | aaa | | 9 | eee |
  5. Pour supprimer des e-mails en double et conserver les derniers, nous pouvons exécuter la requête suivante:

supprimer le test Depuis le test Jointure intérieure ( Sélectionnez Max (ID) comme Lastid, e-mail Depuis le test Groupe par e-mail Avoir le compte (*)> 1 ) duplic sur duplic.email = test.email Où test.id Cette requête récupère les derniers ID pour les e-mails en double et supprime tous les doublons avec des ID plus anciens. Après avoir exécuté la requête, la table de test apparaîtra comme suit:

| ID | Courriel | | --- | --- | | 3 | CCC | | 4 | BBB | | 5 | DDD | | 8 | aaa | | 9 | eee |

| id | email |
|---|---|
| 1 | aaa |
| 2 | bbb |
| 3 | ccc |
| 4 | bbb |
| 5 | ddd |
| 6 | eee |
| 7 | aaa |
| 8 | aaa |
| 9 | eee |
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3