Heim >Datenbank >MySQL-Tutorial >Wie finde und rufe ich IDs doppelter Zeilen in SQL Server ab?

Wie finde und rufe ich IDs doppelter Zeilen in SQL Server ab?

DDD
DDDOriginal
2024-12-28 20:37:10311Durchsuche

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

Duplizierte Zeilen in SQL Server mit zugeordneten IDs finden

Beim Umgang mit großen Datensätzen ist es nicht ungewöhnlich, auf doppelte Zeilen zu stoßen. In SQL Server ist das Identifizieren und Entfernen dieser Duplikate von entscheidender Bedeutung, um die Datenintegrität sicherzustellen und den Speicherplatz zu minimieren. Dieser Artikel bietet eine umfassende Anleitung zum Auffinden doppelter Zeilen und zum Abrufen der zugehörigen IDs in einer SQL Server-Datenbank.

Identifizieren doppelter Zeilen

Der erste Schritt besteht darin, Identifizieren Sie die doppelten Zeilen. Dies kann erreicht werden, indem Zeilen basierend auf einer oder mehreren bestimmten Spalten gruppiert werden und dann die Vorkommen jeder Gruppe gezählt werden. Zeilen mit einer Anzahl größer als 1 gelten als Duplikate.

Ursprüngliche Abfrage

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

Diese Abfrage erzeugt die folgende Ausgabe:

| orgName | dupes |
|-------------------|-------|
| ABC Corp | 7     |
| Foo Federation | 5     |
| Widget Company | 2     |

Zugehörige IDs abrufen

Um die zugehörigen IDs abzurufen, die innere Join-Klausel kann verwendet werden, um zwei Tabellen basierend auf einer gemeinsamen Spalte zusammenzuführen. In diesem Fall können wir die Tabelle „Organisationen“ mit einer Unterabfrage verknüpfen, die die Anzahl der Duplikate berechnet.

Modifizierte Abfrage

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;

Diese modifizierte Abfrage erzeugt die folgende Ausgabe:

| orgName | dupeCount | id |
|-------------------|-------|---|
| ABC Corp | 1 | 34 |
| ABC Corp | 2 | 5 |
| ... | ... | ... |
| Widget Company | 1 | 10 |
| Widget Company | 2 | 2 |

Dieses Ergebnis liefert sowohl die Anzahl der Duplikate als auch die zugehörigen IDs für jede Duplikatorganisation. Diese Informationen können zum manuellen Zusammenführen doppelter Benutzerdatensätze oder für weitere Datenverwaltungsaufgaben verwendet werden.

Das obige ist der detaillierte Inhalt vonWie finde und rufe ich IDs doppelter Zeilen in SQL Server ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn