MySQL: Duplikate in einer Tabelle
Wieder einmal nur eine Notiz für mich, dieses mal geht es um Duplikate in einer MySQL-Tabelle.
Für das Bestimmen der Datensätze, die in zwei Tabellenspalten identisch sind, diese Abfrage verwenden:
SELECT
spalte1, COUNT(spalte1),
spalte2, COUNT(spalte2)
FROM
tabelle
GROUP BY
spalte1,
spalte2
HAVING
COUNT(spalte1) > 1
AND COUNT(spalte2) > 1;Für das Löschen der Duplikate, so daß nur noch ein Datensatz mit der höchsten ID übrigbleibt, diese Abfrage verwenden:
DELETE t1 FROM tabelle t1
INNER JOIN
tabelle t2
WHERE
t1.id < t2.id
AND t1.spalte1 = t2.spalte1
AND t1.spalte2 = t2.spalte2Erstellt von Ole Rosendahl 06. August 2019 • 1 Min. Lesezeit