Doppelte Datensätze entstehen in jeder produktiven Datenbank — durch Importfehler, Race Conditions bei gleichzeitigen Schreibzugriffen, fehlende UNIQUE Constraints oder migrierte Altdaten. In Magento können Kundenduplikate zu falschen Bestellzuordnungen führen, doppelte Produkteinträge die Suche verwirren und redundante Preisdaten die Kalkulation brechen. Dieser Artikel zeigt, wie man SQL Duplikate entfernen kann und anschließend dauerhaft verhindert — von der einfachen GROUP-BY-Analyse bis zum sicheren Massen-Delete auf Tabellen mit Millionen von Zeilen.
Duplikate finden mit GROUP BY und HAVING
Der erste Schritt ist immer das Sichtbarmachen der Duplikate. Die klassische Methode verwendet GROUP BY auf den Spalten, die eindeutig sein sollten, und filtert Gruppen mit mehr als einem Eintrag per HAVING COUNT(*) > 1. Dieser Query zeigt das Problem, aber noch nicht die konkreten Zeilen-IDs.
-- Einfache Duplikatsuche über eine Spalte
SELECT
email,
COUNT(*) AS anzahl
FROM customer_entity
GROUP