Recherche de lignes en double dans SQL Server avec des identifiants associés
Lorsque vous traitez de grands ensembles de données, il n'est pas rare de rencontrer des lignes en double. Dans SQL Server, l'identification et la suppression de ces doublons sont cruciales pour garantir l'intégrité des données et minimiser l'espace de stockage. Cet article fournira un guide complet sur la façon de rechercher les lignes en double et de récupérer les identifiants associés dans une base de données SQL Server.
Identification des lignes en double
La première étape consiste à identifier les lignes en double. Ceci peut être réalisé en regroupant les lignes en fonction d'une ou plusieurs colonnes spécifiques, puis en comptant les occurrences de chaque groupe. Les lignes dont le nombre est supérieur à 1 sont considérées comme des doublons.
Requête originale
SELECT orgName, COUNT(*) AS dupes FROM organizations GROUP BY orgName HAVING COUNT(*) > 1;
Cette requête produit le résultat suivant :
| orgName | dupes | |-------------------|-------| | ABC Corp | 7 | | Foo Federation | 5 | | Widget Company | 2 |
Récupération des identifiants associés
Pour récupérer les identifiants associés, la clause de jointure interne peut être utilisé pour fusionner deux tables basées sur une colonne commune. Dans ce cas, nous pouvons joindre la table des organisations avec une sous-requête qui calcule le nombre de doublons.
Requête modifiée
select o.orgName, oc.dupeCount, o.id from organizations o inner join ( SELECT orgName, COUNT(*) AS dupeCount FROM organizations GROUP BY orgName HAVING COUNT(*) > 1 ) oc on o.orgName = oc.orgName;
Cette requête modifiée produit le résultat suivant :
| orgName | dupeCount | id | |-------------------|-------|---| | ABC Corp | 1 | 34 | | ABC Corp | 2 | 5 | | ... | ... | ... | | Widget Company | 1 | 10 | | Widget Company | 2 | 2 |
Ce résultat fournit à la fois le nombre de doublons et les identifiants associés pour chaque organisation en double. Ces informations peuvent être utilisées pour fusionner manuellement les enregistrements d'utilisateurs en double ou pour d'autres tâches de gestion des données.
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!