Entfernen von doppelten Zeilen aus einer Tabelle

8
%Vor%

Ich möchte eine Abfrage schreiben, so dass mein Ergebnis wie folgt aussieht:

%Vor%

Ich möchte doppelte Zeilen entsprechend der Adresse entfernen.

    
Maulik patel 28.09.2011, 11:27
quelle

6 Antworten

2

Angenommen, Sie möchten die Zeilen mit den kleinsten ID-Werten zurückgeben:

%Vor%     
Ian Nelson 28.09.2011, 11:33
quelle
9

Um zu überprüfen, was Sie löschen möchten:

%Vor%

Wenn Sie damit zufrieden sind:

%Vor%

Auf diese Weise behalten Sie den Datensatz mit dem Maximalwert in der ID-Spalte

    
DavidEG 28.09.2011 11:43
quelle
4

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%     
barryhunter 28.09.2011 12:33
quelle
2

Sie müssen eine doppelte / temporäre Tabelle mit demselben Feld erstellen, die Ihre aktuelle Tabelle hat.

Führen Sie dann unter SQL

aus

Lö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%     
Nimit Dudani 28.09.2011 12:17
quelle
0
%Vor%

Ich ging davon aus, dass Sie Zeilen mit Adressduplikate entfernen und die ID-Zeile in Ihrer Tabelle beibehalten möchten.

    
pratik garg 28.09.2011 11:41
quelle
0

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 Ссылка

    
user769394 28.09.2011 11:43
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '342640',
    'url' => 'removing-duplicate-rows-from-a-table',
];

$_SESSION = [
    '__flash' => [],
];