Heim >Datenbank >MySQL-Tutorial >Wie kann ich doppelte Zeilen aus einer Tabelle löschen, ohne eine neue zu erstellen?
Doppelte Zeilen aus einer Tabelle löschen, ohne eine neue zu erstellen
Sie haben eine Tabelle mit doppelten Datensätzen, die Sie entfernen möchten, ohne eine neue zu erstellen neuer Tisch. Dies kann durch die folgende Methode erreicht werden:
Beginnen Sie mit der Annahme, dass die Tabelle ein eindeutiges ID-Feld enthält. Identifizieren Sie die doppelten Datensätze, indem Sie die Werte in allen Feldern außer der ID vergleichen, z. B. L1_Name, L2_Name usw eine ID, die sich von der Mindest-ID innerhalb dieser Gruppe von Duplikaten unterscheidet.
Veranschaulichung dieses Konzepts mit a Abfrage:
Denken Sie daran, „Tabelle“ und „ID“ durch den tatsächlichen Tabellennamen und den ID-Feldnamen zu ersetzen. Darüber hinaus sollte die Liste der Felder in der GROUP BY-Klausel alle Felder außer der ID enthalten.DELETE FROM Table WHERE ID NOT IN ( SELECT MIN(ID) FROM Table GROUP BY L1_name, L2_name, L3_name, ... )
Diese Abfrage löscht effizient doppelte Datensätze, ohne dass eine zusätzliche Tabelle erstellt werden muss. Es ist zu beachten, dass die Leistung je nach Anzahl der beteiligten Felder und Zeilen variieren kann.
Das obige ist der detaillierte Inhalt vonWie kann ich doppelte Zeilen aus einer Tabelle löschen, ohne eine neue zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!