Wie lösche ich doppelte Zeilen in SQL Server?

Wie kann ichdelete duplicate rows wo neinunique row id existiert?

Mein Tisch ist

col1  col2 col3 col4 col5 col6 col7
john  1    1    1    1    1    1 
john  1    1    1    1    1    1
sally 2    2    2    2    2    2
sally 2    2    2    2    2    2

Ich möchte nach dem Entfernen des Duplikats Folgendes erhalten:

john  1    1    1    1    1    1
sally 2    2    2    2    2    2

Ich habe ein paar Abfragen versucht, aber ich denke, sie hängen von einer Zeilen-ID ab, da ich nicht das gewünschte Ergebnis erhalte. Zum Beispiel:

DELETE FROM table WHERE col1 IN (
    SELECT id FROM table GROUP BY id HAVING ( COUNT(col1) > 1 )
)

Antworten auf die Frage(17)

Ihre Antwort auf die Frage