Um nur die doppelten Einträge in einer Spalte zu löschen und die einzigartigen Einträge beizubehalten, musst du sicherstellen, dass jeder einzigartige Eintrag mindestens einmal in der Datenbank vorhanden ist, bevor die Dubletten gelöscht werden. Du kannst dies mit einer temporären Tabelle erreichen, die die einzigartigen Einträge enthält.
Hier ist ein Beispiel, das zeigt, wie du doppelte Email-Adressen in einer Kundendatenbank finden und nur die Dubletten löschen kannst:
1. Erstelle eine temporäre Tabelle, um nur die einzigartigen Email-Adressen zu speichern:
CREATE TEMPORARY TABLE tmp SELECT MIN(id) AS id FROM kundendatenbank GROUP BY email;
2. Lösche alle Dubletten aus der Kundendatenbank:
DELETE FROM kundendatenbank WHERE id NOT IN (SELECT id FROM tmp);
Dieser Befehl löscht alle Zeilen in der Kundendatenbank, deren ID nicht in der temporären Tabelle enthalten ist, die nur die einzigartigen Email-Adressen enthält. Dadurch werden nur die Dubletten gelöscht und die einzigartigen Einträge bleiben erhalten.
3. Lösche die temporäre Tabelle, die nicht mehr benötigt wird:
DROP TEMPORARY TABLE tmp;
Dieser Befehl löscht die temporäre Tabelle, wenn diese nicht mehr benötigt wird.