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
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