Maison >base de données >tutoriel mysql >Comment rechercher et récupérer les lignes en double et leurs identifiants dans SQL Server ?

Comment rechercher et récupérer les lignes en double et leurs identifiants dans SQL Server ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-27 08:34:14599parcourir

How to Find and Retrieve Duplicate Rows and Their IDs in SQL Server?

Récupération des lignes en double et des identifiants associés dans SQL Server

L'élimination des lignes en double d'une base de données est cruciale pour l'intégrité et l'efficacité des données. Dans ce scénario, notre objectif est d'identifier et de récupérer toutes les lignes en double d'une table d'organisations, ainsi que leurs identifiants correspondants et le nombre de lignes en double.

Pour y parvenir, nous pouvons exploiter les puissantes capacités de SQL Server. L'instruction fournie identifie efficacement les lignes en double et fournit un nombre de duplications :

SELECT orgName, COUNT(*) AS dupes
FROM organizations
GROUP BY orgName
HAVING COUNT(*) > 1

Pour améliorer cette requête, nous pouvons introduire une sous-requête qui génère un tableau de noms d'organisations distincts et le nombre de duplications correspondant :

SELECT orgName, COUNT(*) AS dupeCount
FROM organizations
GROUP BY orgName
HAVING COUNT(*) > 1

Cette sous-requête est ensuite jointe à la table principale des organisations à l'aide de la colonne orgName, nous permettant de récupérer les identifiants associés à chaque doublon. row :

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 affinée fournit désormais une liste complète des lignes d'organisation en double, leurs identifiants associés et le nombre de duplications. Ces informations vous permettent de fusionner manuellement les lignes en double en toute sécurité, garantissant l'intégrité des données tout en maintenant les relations avec les autres tables de votre base de 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!

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