Heim > Datenbank > MySQL-Tutorial > Wie kann ich doppelte Zeilen in SQL Server löschen und gleichzeitig eine Zeile behalten?

Wie kann ich doppelte Zeilen in SQL Server löschen und gleichzeitig eine Zeile behalten?

Linda Hamilton
Freigeben: 2025-01-15 16:11:45
Original
922 Leute haben es durchsucht

How Can I Delete Duplicate Rows in SQL Server While Keeping One Row?

Effizientes Entfernen doppelter Zeilen in SQL Server unter Beibehaltung einer einzelnen Zeile

Datenintegrität ist bei der Datenbankverwaltung von entscheidender Bedeutung. In diesem Artikel wird das häufig auftretende Problem des Entfernens doppelter Zeilen aus einer SQL Server-Tabelle behandelt und gleichzeitig sichergestellt, dass mindestens eine Instanz jedes eindeutigen Datensatzes erhalten bleibt. T-SQL bietet eine unkomplizierte Lösung unter Verwendung allgemeiner Tabellenausdrücke (Common Table Expressions, CTEs).

Die OVER-Klausel im CTE ist der Schlüssel zu diesem Prozess. Hier ist ein anschauliches Beispiel:

<code class="language-sql">WITH cte AS (
  SELECT [foo], [bar],
     ROW_NUMBER() OVER (PARTITION BY [foo], [bar] ORDER BY [baz]) AS rn
  FROM [TABLE]
)
DELETE FROM cte
WHERE rn > 1;</code>
Nach dem Login kopieren

Diese Abfrage verwendet einen CTE, um jeder Zeile innerhalb von Gruppen, die durch die Spalten rn und [foo] definiert sind, eine eindeutige Zeilennummer ([bar]) zuzuweisen. Die ORDER BY [baz]-Klausel bestimmt, welche Zeile innerhalb jeder Gruppe beibehalten wird; Sie sollten dies entsprechend Ihren spezifischen Bedürfnissen anpassen. Die DELETE-Anweisung entfernt dann alle Zeilen, in denen rn größer als 1 ist, sodass nur eine repräsentative Zeile für jede eindeutige Kombination von [foo] und [bar] übrig bleibt.

Dieser Ansatz bietet eine effiziente und zuverlässige Methode zur Aufrechterhaltung der Datensauberkeit und -genauigkeit in Ihrer SQL Server-Datenbank.

Das obige ist der detaillierte Inhalt vonWie kann ich doppelte Zeilen in SQL Server löschen und gleichzeitig eine Zeile behalten?. 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