Heim >Datenbank >MySQL-Tutorial >Wie lösche ich doppelte Zeilen in SQL ohne eindeutige Kennung?
Doppelte Zeilen ohne eindeutige Kennung entfernen
Um doppelte Zeilen aus einer Tabelle zu entfernen, die keine eindeutige Bezeichnerspalte haben, können Sie einen CTE (Common Table Expression) in Verbindung mit ROW_NUMBER() verwenden.
Lösung:
Bitte beachten Sie die folgende Anfrage:
<code class="language-sql">WITH CTE AS ( SELECT [col1], [col2], [col3], [col4], [col5], [col6], [col7], RN = ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY col1) FROM dbo.Table1 ) DELETE FROM CTE WHERE RN > 1;</code>
Diese Abfrage bewirkt Folgendes:
Ergebnis:
Das Ergebnis der Abfrage ist eine Tabelle, in der doppelte Zeilen entfernt wurden und nur das erste Vorkommen jeder eindeutigen Zeile erhalten bleibt. Dies wird erreicht, ohne dass eine eindeutige Bezeichnerspalte in der Originaltabelle erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie lösche ich doppelte Zeilen in SQL ohne eindeutige Kennung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!