Doppelte Zeilen anhand bestimmter Spalten identifizieren und entfernen

333
IT Worker

Ich habe SQL-Ergebnisse von 9000.000 Zeilen und> 10 Spalten. Ich muss Zeilen als dups entfernen, die eine andere Zeile haben, die mit 4 der Spalten übereinstimmt (keine exakte dup-Zeile). Ich habe verschiedene Dinge recherchiert und ausprobiert, aber nichts bringt mich dort hin. Dies ist für eine einmalige Datenkonvertierung und -konvertierung dafür.

Wenn also Zeile 1 und Zeile 22 in den Spalten A1 - A22, D1 - D22, H1 - H22 und K1 - K22 die gleichen Werte haben, dann ist es ein Dup und ich muss einen davon entfernen (mit einem späteren Datum in einer anderen Spalte).

Wenn ich dies in sql machen könnte, habe ich aber nur eingeschränkte Rechte und Tabellenzugriff (wie es sein sollte!) Und kann nicht alle SQL-Funktionen ausführen. (zB Tabellen erstellen).

0

1 Antwort auf die Frage

0
Eric F

Sie können etwas von dieser Art tun:

DELETE FROM table WHERE rowid NOT IN ( SELECT MIN(rowid)  FROM table GROUP BY col1, col2 ) 

Ersetzen Sie die Tabelle durch die Tabelle, in der Sie suchen, col1 und alle anderen durch Ihre Spalten, um etwas als Duplikat zu klassifizieren, und rowid mit der Indexspalte.