Heim >Datenbank >MySQL-Tutorial >Wie lösche ich doppelte Datensätze in SQL Server mit TSQL?

Wie lösche ich doppelte Datensätze in SQL Server mit TSQL?

Linda Hamilton
Linda HamiltonOriginal
2025-01-12 11:47:42199Durchsuche

How to Delete Duplicate Records in SQL Server Using TSQL?

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!

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