Heim >Datenbank >MySQL-Tutorial >Wie kann ich doppelte Zeilen aus einer Tabelle löschen, ohne eine neue zu erstellen?

Wie kann ich doppelte Zeilen aus einer Tabelle löschen, ohne eine neue zu erstellen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-29 13:51:14219Durchsuche

How Can I Delete Duplicate Rows from a Table Without Creating a New One?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn