Doppelte Einträge in SQL Server-Tabellen entfernen
Problem:
Angenommen, Sie haben eine Employee
-Tabelle mit einem Feld namens EmployeeName
, das doppelte Einträge enthält. Wie können Sie T-SQL verwenden, um diese doppelten Zeilen basierend auf der Spalte EmployeeName
in SQL Server zu entfernen?
Lösung:
Löschen Sie doppelte Zeilen in SQL Server mithilfe von T-SQL und Fensterfunktionen effizient. Durch die Bestellung der Duplikate unter Verwendung einer Mitarbeiter-ID können wir nur das erste Vorkommen jedes Namens behalten.
<code class="language-sql">DELETE x FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
Um die zum Löschen vorgesehenen Zeilen vor der Ausführung der DELETE
-Anweisung zu überprüfen, führen Sie diese Abfrage aus:
<code class="language-sql">SELECT * FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
Das obige ist der detaillierte Inhalt vonWie lösche ich doppelte Datensätze in SQL Server mit TSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!