Um die doppelten Zeilen schnell zu sehen, können Sie eine einzelne einfache Abfrage ausführen
Hier frage ich die Tabelle ab und liste alle doppelten Zeilen mit derselben Benutzer-ID, demselben Marktplatz und derselben SKU auf:
select user_id, market_place,sku, count(id)as totals from sku_analytics group by user_id, market_place,sku having count(id)>1;
Um die doppelte Zeile zu löschen, müssen Sie entscheiden, welche Zeile Sie löschen möchten. ZB die mit niedrigerer ID (normalerweise älter) oder andere Datumsinformationen. In meinem Fall möchte ich nur die niedrigere ID löschen, da die neuere ID die neuesten Informationen enthält.
Überprüfen Sie zunächst, ob die richtigen Datensätze gelöscht werden. Hier wähle ich den Datensatz unter den Duplikaten aus, die gelöscht werden (nach eindeutiger ID).
select a.user_id, a.market_place,a.sku from sku_analytics a inner join sku_analytics b where a.id< b.id and a.user_id= b.user_id and a.market_place= b.market_place and a.sku = b.sku;
Dann führe ich die Löschabfrage aus, um die Dupes zu löschen:
delete a from sku_analytics a inner join sku_analytics b where a.id< b.id and a.user_id= b.user_id and a.market_place= b.market_place and a.sku = b.sku;
Backup, Double Check, Verify, Verify Backup und dann ausführen.