Heim >Datenbank >MySQL-Tutorial >Wie finde und rufe ich alle doppelten Datensätze in MySQL ab?
So identifizieren Sie doppelte Datensätze in MySQL
Die Aufgabe, doppelte Datensätze in einer MySQL-Datenbank zu identifizieren, wird normalerweise mit der folgenden Abfrage gelöst:
SELECT address, count(id) as cnt FROM list GROUP BY address HAVING cnt > 1
Diese Abfrage liefert jedoch nur die Anzahl der doppelten Datensätze, nicht die tatsächlichen Daten für jede doppelte Zeile. Um die einzelnen doppelten Datensätze abzurufen, ist ein etwas anderer Ansatz erforderlich.
Der Schlüssel besteht darin, die ursprüngliche Abfrage als Unterabfrage umzuschreiben:
SELECT firstname, lastname, list.address FROM list INNER JOIN (SELECT address FROM list GROUP BY address HAVING COUNT(id) > 1) dup ON list.address = dup.address;
Diese Unterabfrage identifiziert die doppelten Adressen und die Die äußere Abfrage verwendet diese Informationen, um die Listentabelle zu verknüpfen und alle zugehörigen Daten für jeden doppelten Datensatz abzurufen.
Das obige ist der detaillierte Inhalt vonWie finde und rufe ich alle doppelten Datensätze in MySQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!