Seite 1 von 1

Doppelte Zeilen aus einer DB löschen

BeitragVerfasst: Fr 12. Apr 2019, 09:51
von MaCo
Hallo zusammen,

vorab die Info, dass ich eher Anfänger als sonst was bin auf dem Gebiet DB und SQL.

Hier mein Problem:
Ich habe eine DB in der alle Daten 8 mal identisch sind. Ich möchte dementsprechend 7 Zeilen löschen.
Identisch heisst dann natürlich auch, dass die ID 8 mal gleich ist.

Ich kann eine neue Spalte erzeugen, die die sortierten ID´s durchnummeriert. Jedoch bekomme ich das nicht zusammengebaut.

Beispiel:
DELETE FROM "name_db"
WHERE id IN (SELECT id, ROW_NUMBER() OVER (partition BY "alle Spalten auflisten" ORDER BY id) AS rnum
FROM "name_db";) t
WHERE t.rnum > 1);

Hier löscht der mir alle Zeilen.
Eine Lösung wäre doch, wenn:
DELETE FROM "name_db"
WHERE rnum .....

Aber hier fehlt mir das Verständnis um das umzusetzen.
Ich hoffe ihr versteht wo mein Problem liegt.

Vielen Dank vorab.

Gruß
Maco

Re: Doppelte Zeilen aus einer DB löschen

BeitragVerfasst: Fr 26. Apr 2019, 14:44
von SQLUnion
Hallo MaCo,

hast Du inzwischen eine Lösung gefunden?
Du bist auf dem richtigen Weg. Leider kenne ich nicht dein Datenbanksystem, würde aber auf MS tippen :?

Gruß,
SQLUnion