Wie bereinigt man eine Tabelle von doppelten Daten in SQL?
sobes.tech KI
Antwort von AI
Um eine Tabelle von doppelten Einträgen in SQL zu bereinigen, verwendet man üblicherweise einen Ansatz, bei dem die duplizierten Zeilen entfernt werden, wobei nur ein eindeutiger Eintrag verbleibt. Eine der gängigen Methoden ist die Verwendung von CTE (Common Table Expression) mit der Funktion ROW_NUMBER(), um Duplikate zu nummerieren und alle außer der ersten zu löschen.
Beispiel für SQL Server oder PostgreSQL:
WITH CTE AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY column1, column2, column3 ORDER BY id) AS rn
FROM deine_tabelle
)
DELETE FROM deine_tabelle
WHERE id IN (
SELECT id FROM CTE WHERE rn > 1
);
Hierbei sind column1, column2, column3 eine Menge von Spalten, die ein Duplikat bestimmen, und id ist der eindeutige Zeilenidentifikator.
Wenn das DBMS CTE nicht unterstützt, kann man eine temporäre Tabelle oder Unterabfragen verwenden. Es ist wichtig, zuerst die Kriterien für die Einzigartigkeit festzulegen, um die Duplikate korrekt zu entfernen.