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

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

Linda Hamilton
Linda HamiltonOriginal
2024-12-26 01:56:09630Durchsuche

How to Delete Duplicate Rows from a Table Without Creating a New Table?

Doppelte Zeilen aus einer Tabelle löschen

Sie haben eine Tabelle mit doppelten Datensätzen und möchten diese löschen, ohne eine neue Tabelle zu erstellen. Vorausgesetzt, Sie haben ein eindeutiges ID-Feld, können Sie die folgende Abfrage verwenden:

DELETE FROM Table
WHERE ID NOT IN
(
SELECT MIN(ID)
FROM Table
GROUP BY Field1, Field2, Field3, ...
)

Beispiel: Nehmen wir an, Sie haben die folgende Tabelle:

id action L1_name L1_data ... L11_data
1 action1 name1 data1 ... company1
2 action2 name2 data2 ... company2
3 action1 name1 data1 ... company1

Die Die Abfrage würde den doppelten Datensatz mit der ID 3 löschen, sodass Sie Folgendes erhalten würden Tabelle:

id action L1_name L1_data ... L11_data
1 action1 name1 data1 ... company1
2 action2 name2 data2 ... company2

Hinweise:

  • „Tabelle“ und „ID“ sind repräsentative Namen.
  • Die Liste der Felder ( „Feld1, Feld2, ...“) sollte alle Felder außer der ID umfassen.
  • Diese Abfrage kann abhängig von der Anzahl der Felder und langsam sein Zeilen.
  • Wenn Sie keinen eindeutigen Index haben, fügen Sie einen hinzu, um die Leistung zu verbessern.

Das obige ist der detaillierte Inhalt vonWie lösche ich doppelte Zeilen aus einer Tabelle, ohne eine neue Tabelle 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