MySQL: Doppelte Datensätze löschen und gleichzeitig die aktuellsten beibehalten
Frage: Wie kann ich doppelte E-Mail-Adressen in entfernen? eine MySQL-Tabelle erstellen und dabei die aktuellste Tabelle basierend auf dem eindeutigen ID-Feld beibehalten?
Lösung:
Um dies zu erreichen, führen Sie die folgenden Schritte aus:
Doppelte E-Mails identifizieren:
Rufen Sie eine Liste aller doppelten E-Mail-Adressen mithilfe der Abfrage ab:
1 2 3 4 |
|
Finden Sie die neueste ID für jedes Duplikat:
Bestimmen Sie die neueste ID, die jeder doppelten E-Mail zugeordnet ist, mithilfe der Abfrage:
1 2 3 4 5 6 7 8 9 |
|
Älteste Duplikate löschen:
Führen Sie einen DELETE-Vorgang aus, um Duplikate zu entfernen E-Mails mit einer ID kleiner als die neueste:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Optimierte Version:
Die folgende optimierte Version liefert das gleiche Ergebnis und verbessert gleichzeitig möglicherweise die Leistung:
1 2 3 4 5 6 7 8 |
|
Diese überarbeitete DELETE-Anweisung konzentriert sich auf die Beseitigung der ältesten Duplikate.
Zusätzliche Option:
Alternativ können Sie diese von Rene Limon bereitgestellte Abfrage verwenden:
1 2 3 4 5 |
|
Dieser Ansatz behält die aktuellste doppelte E-Mail-Adresse basierend auf der maximalen ID bei.
Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte E-Mail-Adressen in MySQL und behalte dabei den neuesten Datensatz bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!