Doppelte Zeilen durch bestimmte Spalten identifizieren und entfernen

0

Ich habe SQL-Ergebnisse von 9000.000 Zeilen und & gt; 10 Spalten. Ich muss Zeilen als Dups entfernen, die eine andere Zeile haben, die 4 der Spalten entspricht (keine exakte Dup-Zeile). Ich habe verschiedene Dinge recherchiert und ausprobiert, aber nichts bringt mich bis dahin. Dies ist eine einmalige Datenkonvertierung und ein Konvertierungstest dafür.

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

Wenn ich das in SQL großartig machen könnte, aber ich habe eingeschränkte Rechte und Tabellenzugriff (wie es sein sollte!) Und kann nicht alle SQL-Funktionen ausführen. (z. B. Tabellen erstellen).

IT Worker
quelle

Antworten:

0

Sie können etwas in 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, Spalte1 und alle anderen durch Ihre Spalten, die Sie benötigen, um etwas als Duplikat zu klassifizieren, und geben Sie die Zeilen-ID für Ihre Indexspalte ein.

Eric F
quelle