Maison > base de données > tutoriel mysql > Comment rechercher des lignes en double sur plusieurs colonnes dans SQL ?

Comment rechercher des lignes en double sur plusieurs colonnes dans SQL ?

Patricia Arquette
Libérer: 2025-01-03 16:14:39
original
821 Les gens l'ont consulté

How to Find Duplicate Rows Across Multiple Columns in SQL?

Recherche de doublons sur plusieurs colonnes

En SQL, vous pouvez rencontrer des situations dans lesquelles vous devez identifier les lignes avec des valeurs en double sur plusieurs colonnes. Supposons que vous ayez une table appelée « stuff » contenant des colonnes telles que id, name et city. Vous souhaitez rechercher des lignes avec des valeurs identiques dans les colonnes nom et ville.

Requête SQL

Pour y parvenir, vous pouvez utiliser la requête SQL suivante :

select s.id, t.* 
from [stuff] s
join (
    select name, city, count(*) as qty
    from [stuff]
    group by name, city
    having count(*) > 1
) t on s.name = t.name and s.city = t.city
Copier après la connexion

Explication

  • La requête principale (sélectionnez s.id, t.*) sélectionne la colonne id de la table d'origine ([stuff]) et toutes les colonnes d'une sous-requête (t).
  • La sous-requête (sélectionnez le nom, la ville, comptez (*) comme qté) regroupe la table par nom et ville et compte le nombre d'occurrences pour chaque paire.
  • Le décompte (*) > La clause 1 filtre la sous-requête pour inclure uniquement les paires nom et ville dont le nombre est supérieur à 1 (c'est-à-dire les doublons).
  • La condition de jointure (sur s.name = t.name et s.city = t.city) lie la table d'origine à la sous-requête en fonction du nom et de la ville, en sélectionnant les lignes où la combinaison apparaît plusieurs fois.

Sortie

Cette requête renverra la sortie suivante, affichant les paires identifiant et nom-ville qui ont des doublons :

id      name  city   
904834  jim   London  
904835  jim   London  
90145   Fred  Paris   
90132   Fred  Paris
90133   Fred  Paris
Copier après la connexion

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