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

Wie lösche ich doppelte Datensätze in SQL Server mit einer einzigen T-SQL-Abfrage?

Susan Sarandon
Freigeben: 2025-01-12 11:51:45
Original
1010 Leute haben es durchsucht

How to Delete Duplicate Records in SQL Server Using a Single T-SQL Query?

Effizientes Entfernen doppelter Zeilen in SQL Server

Stellen Sie sich eine Employee-Tabelle vor, die eine EmployeeName-Spalte enthält. Das Ziel besteht darin, doppelte Zeilen ausschließlich auf der Grundlage des Felds EmployeeName zu entfernen. Dies kann mithilfe einer prägnanten T-SQL-Abfrage in SQL Server erreicht werden.

Die Lösung:

Die Nutzung von Fensterfunktionen bietet eine elegante Lösung. Die folgende Abfrage weist jedem Datensatz innerhalb jeder rn-Gruppe eine eindeutige Zeilennummer (EmployeeName) zu, sortiert nach empId. Anschließend werden Zeilen gelöscht, in denen rn größer als 1 ist (d. h. Duplikate).

<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>
Nach dem Login kopieren

Um eine Vorschau der zu löschenden Zeilen anzuzeigen, bevor Sie die DELETE-Anweisung ausführen, führen Sie diese SELECT-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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lösche ich doppelte Datensätze in SQL Server mit einer einzigen T-SQL-Abfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage