Recherche d'enregistrements en double dans MySQL avec des informations détaillées
Il est souvent nécessaire d'identifier et de supprimer les enregistrements en double d'une base de données MySQL pour l'intégrité des données et à des fins d’efficacité. Bien que la pratique courante consistant à utiliser une requête GROUP BY avec une clause HAVING vous permette de compter les enregistrements en double, elle ne fournit qu'une vue résumée.
Pour récupérer les lignes en double réelles, une approche plus complète est nécessaire. Au lieu de compter sur une requête distincte pour rechercher les doublons, vous pouvez utiliser une sous-requête dans l'instruction d'origine.
La requête suivante restructure la requête initiale en tant que sous-requête et la joint à la table principale pour extraire l'information spécifique. lignes en double :
SELECT firstname, lastname, list.address FROM list INNER JOIN (SELECT address FROM list GROUP BY address HAVING COUNT(id) > 1) dup ON list.address = dup.address;
Cette requête donne le résultat souhaité :
JIM JONES 100 MAIN ST JOHN SMITH 100 MAIN ST
Cette méthode combine efficacement l'opération d'agrégation avec le récupération de lignes individuelles en double, fournissant des informations détaillées sans avoir besoin de requêtes supplémentaires.
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!