Maison > base de données > tutoriel mysql > Comment supprimer efficacement les lignes en double d'une table sans en créer une nouvelle ?

Comment supprimer efficacement les lignes en double d'une table sans en créer une nouvelle ?

Mary-Kate Olsen
Libérer: 2025-01-02 15:16:39
original
899 Les gens l'ont consulté

How to Efficiently Delete Duplicate Rows from a Table Without Creating a New One?

Supprimer les lignes en double d'une table : une approche efficace

La redondance des données au sein d'une base de données peut entraîner des inexactitudes et des inefficacités. Il est donc essentiel de supprimer les enregistrements en double pour maintenir l’intégrité des données. Bien que la création d'une nouvelle table avec uniquement des entrées distinctes soit une option, nous explorerons une approche directe pour supprimer les entrées en double d'une table existante sans en créer une nouvelle.

Considérez une table avec des champs tels que id, action, et L11_data. id est unique pour chaque ligne, L11_data est unique dans son champ d'action respectif et l'action représente les industries. L'objectif est de supprimer les noms d'entreprise en double dans L11_data pour leurs secteurs respectifs.

Pour y parvenir, nous pouvons utiliser le champ d'identification unique pour identifier et supprimer les lignes en double. La requête suivante élimine efficacement les enregistrements redondants sans créer de nouvelle table :

DELETE FROM Table
WHERE ID NOT IN
(
SELECT MIN(ID)
FROM Table
GROUP BY Field1, Field2, Field3, ...
)
Copier après la connexion

Dans cette requête, Table représente la table existante et ID est le champ d'identifiant unique. La liste des champs spécifiés dans GROUP BY inclut tous les champs sauf ID.

Il est important de noter que l'efficacité de cette requête dépend du nombre de champs et de lignes dans la table. Cependant, pour la plupart des scénarios pratiques, il devrait fonctionner correctement.

De plus, si vous n'avez pas d'index unique sur la table, il est fortement recommandé d'en ajouter un. Non seulement cela améliore l'intégrité des données, mais cela vous permet également d'exécuter efficacement la requête mentionnée ci-dessus.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal