Maison  >  Article  >  base de données  >  Comment supprimer les enregistrements en double dans MySQL

Comment supprimer les enregistrements en double dans MySQL

藏色散人
藏色散人original
2023-02-16 09:56:113483parcourir

Méthode MySQL pour supprimer les enregistrements en double : 1. Utilisez la commande "sélectionner un nom distinct à partir d'un où statesign=0" pour supprimer les enregistrements en double ; 2. Utilisez la commande "sélectionner un nom à partir d'un groupe par nom où statesign=0" ; enregistrements en double.

Comment supprimer les enregistrements en double dans MySQL

L'environnement d'exploitation de ce tutoriel : système Windows 10, MySQL version 5.7, ordinateur Dell G3.

Comment supprimer les enregistrements en double dans MySQL ?

requête mysql pour supprimer les enregistrements en double

1 : utilisez distinct

select distinct name from a where statesign=0

pour interroger le champ de nom dans la table a et supprimer les enregistrements en double

2 : utilisez group by

select name from a where statesign=0 group by name

pour interroger le champ de nom dans la table a, groupe et supprimer les doublons L'enregistrement

distinct doit être placé en première position lorsqu'il est utilisé, sinon une erreur sera signalée

Extensions associées:

DISTINCT est en fait très similaire à l'implémentation de l'opération GROUP BY, sauf qu'un seul enregistrement est pris de chaque groupe après GROUP BY C'est tout. Par conséquent, l'implémentation de DISTINCT et l'implémentation de GROUP BY sont fondamentalement les mêmes, et il n'y a pas beaucoup de différence. Cela peut également être réalisé via une analyse d'index lâche ou une analyse d'index compacte. Bien sûr, lorsque DISTINCT ne peut pas être complété en utilisant uniquement des index, MySQL ne peut être complété que via des tables temporaires.

Cependant, une différence par rapport à GROUP BY est que DISTINCT n'a pas besoin d'être trié. En d'autres termes, si la requête qui est simplement une opération DISTINCT ne peut pas terminer l'opération en utilisant uniquement l'index, MySQL utilisera la table temporaire pour « mettre en cache » les données, mais n'effectuera pas d'opérations de tri de fichiers sur les données de la table temporaire.

Bien sûr, si nous utilisons également GROUP BY et group lors de l'exécution de DISTINCT et utilisons des opérations de fonction d'agrégation comme MAX, le tri de fichiers ne peut pas être évité.

Apprentissage recommandé : "Tutoriel vidéo MySQL"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn