Ich möchte eine Abfrage schreiben, so dass mein Ergebnis wie folgt aussieht:
%Vor%Ich möchte doppelte Zeilen entsprechend der Adresse entfernen.
Angenommen, Sie möchten die Zeilen mit den kleinsten ID-Werten zurückgeben:
%Vor%Wenn es Ihnen egal ist, welche der Zeilen Sie behalten
%Vor%Das 'IGNORE' ist wichtig, das heißt, doppelte Daten ignorieren. (dh ignoriert es beim Einfügen in die 'neue Version' der Tabelle.)
Möchten Sie den Index afterwoods entfernen
%Vor%Sie müssen eine doppelte / temporäre Tabelle mit demselben Feld erstellen, die Ihre aktuelle Tabelle hat.
Führen Sie dann unter SQL
ausLöschen Sie zuerst die temporäre Tabelle:
%Vor%Fügen Sie den Datensatz gemäß Ihrer Erwartung in die temporäre Tabelle ein.
%Vor%Haupttabelle abschneiden
%Vor%Kopieren Sie Daten aus der temporären Tabelle
%Vor%Ich ging davon aus, dass Sie Zeilen mit Adressduplikate entfernen und die ID-Zeile in Ihrer Tabelle beibehalten möchten.
Sie können dies leicht machen, indem Sie diese 3 einfachen Schritte und somit 3 SQL-Anweisungen ausführen:
Schritt 1: Verschieben Sie die Nicht-Duplikate (eindeutige Tupel) in eine temporäre Tabelle CREATE TABLE neue_tabelle als SELECT * FROM old_table WHERE 1 GROUP BY [Spalte zum Entfernen von Duplikaten durch];
Schritt 2: Löschen Löschen Sie die alte Tabelle Wir brauchen die Tabelle nicht mehr mit allen doppelten Einträgen, also lasst es fallen! DROP TABLE alte_Tabelle;
Schritt 3: Benennen Sie die neue Tabelle in den Namen der alten Tabelle um RENAME TABLE neue_Tabelle TO alte_Tabelle;
Für einen anderen Weg können Sie zum Balg Link gehen ... Es ist auch ein guter Weg ... Schwierig, aber mit weniger Aussagen Ссылка