Rechercher des enregistrements en double avec des informations détaillées dans MySQL
La base de données MySQL offre un moyen pratique d'identifier les enregistrements en double avec la commande suivante :
SELECT address, count(id) as cnt FROM list GROUP BY address HAVING cnt > 1
Cependant, cette requête ne fournit qu'un résumé des enregistrements en double. Pour obtenir des informations détaillées sur chaque ligne en double, envisagez d'utiliser l'approche suivante :
Nous pouvons exploiter la puissance des sous-requêtes pour accomplir cette tâche. Voici comment procéder :
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 révisée nous permet d'extraire à la fois l'adresse ainsi que le prénom et le nom correspondants pour chaque enregistrement en double, ce qui donne un résultat plus complet. La sous-requête identifie les adresses en double, et la requête principale rejoint ensuite la table de liste avec les résultats de la sous-requête pour récupérer les informations complètes pour chaque ligne en double.
En utilisant cette approche, nous pouvons identifier et afficher efficacement les enregistrements en double avec leurs détails associés, éliminant ainsi le besoin de requêtes multiples et améliorant la lisibilité du résultat.
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!