Maison >base de données >tutoriel mysql >Comment rechercher des lignes en double dans une table SQL en fonction de plusieurs champs (par exemple, e-mail et nom) ?

Comment rechercher des lignes en double dans une table SQL en fonction de plusieurs champs (par exemple, e-mail et nom) ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-23 02:10:08701parcourir

How to Find Duplicate Rows in a SQL Table Based on Multiple Fields (e.g., Email and Name)?

Identification des enregistrements en double dans SQL en fonction de plusieurs champs

Rechercher des doublons dans une table SQL est simple avec un seul champ. Cependant, l'identification des doublons dans plusieurs champs, tels que l'adresse e-mail et le nom, nécessite une approche plus sophistiquée. Cet exemple montre comment localiser les entrées en double en fonction de l'adresse e-mail et du nom.

La solution utilise une clause GROUP BY modifiée pour inclure plusieurs champs :

<code class="language-sql">SELECT
    name, email, COUNT(*) AS DuplicateCount
FROM
    users
GROUP BY
    name, email
HAVING 
    DuplicateCount > 1;</code>

Le regroupement par name et email garantit que les enregistrements avec des combinaisons d'adresse e-mail et de nom identiques sont regroupés. La clause HAVING filtre ensuite ces groupes, renvoyant uniquement ceux avec un COUNT(*) (renommé DuplicateCount pour plus de clarté) supérieur à 1, identifiant ainsi les entrées en double. Cela identifie efficacement les lignes avec des paires de nom et d'adresse e-mail en double.

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