Löschen Sie Duplikate aus einer Tabelle in SQL Server
Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie doppelte Zeilen aus einer Tabelle in SQL Server löschen.
Um die doppelten Zeilen aus der Tabelle in SQL Server zu löschen, gehen Sie folgendermaßen vor:
- Suchen Sie doppelte Zeilen mit
GROUP BY
Klausel oderROW_NUMBER()
Funktion. - Verwenden Sie
DELETE
Anweisung, um die doppelten Zeilen zu entfernen.
Lassen Sie uns eine Beispieltabelle für die Demonstration einrichten.,
Einrichten einer Beispieltabelle
Erstellen Sie zunächst eine neue Tabelle mit dem Namen sales.contacts
wie folgt:
Zweitens fügen Sie einige Zeilen in die sales.contacts
Tabelle ein:
Drittens Abfragen von Daten aus der sales.contacts
Tabelle:
Code language: SQL (Structured Query Language) (sql)
Das folgende Bild zeigt die Ausgabe der Abfrage:
Es gibt viele doppelte Zeilen (3,4,5), (6,7) und (8,9) für die Kontakte, die denselben Vornamen, Nachnamen und dieselbe E-Mail haben.,
Doppelte Zeilen aus einer Tabelle löschen Beispiel
Die folgende Anweisung verwendet einen Common table expression (CTE), um doppelte Zeilen zu löschen:
In dieser Anweisung:
- Zuerst verwendet die CTE die
ROW_NUMBER()
Funktion, um die doppelten Zeilen zu finden, die durch Werte in derfirst_name
,last_name
undemail
Spalten. - Dann löscht die
DELETE
Anweisung alle doppelten Zeilen, behält aber nur ein Vorkommen jeder doppelten Gruppe bei.,
SQL Server gab die folgende Meldung aus, dass die doppelten Zeilen entfernt wurden.
Wenn Sie erneut Daten aus der Tabelle sales.contacts
abfragen, werden alle doppelten Zeilen gelöscht.
In diesem tutorial haben Sie gelernt, so löschen Sie doppelte Zeilen aus einer Tabelle in SQL Server.