Aby szybko zobaczyć zduplikowane wiersze, możesz uruchomić jedno proste zapytanie
Tutaj sprawdzam tabelę i wymieniam wszystkie zduplikowane wiersze z tym samym identyfikatorem użytkownika, rynkiem i SKU:
select user_id, market_place,sku, count(id)as totals from sku_analytics group by user_id, market_place,sku having count(id)>1;
Aby usunąć zduplikowany wiersz, musisz zdecydować, który wiersz chcesz usunąć. Np. Ten o niższym identyfikatorze (zwykle starszy) lub może jakiś inny termin. W moim przypadku chcę tylko usunąć dolny identyfikator, ponieważ nowszy identyfikator to najnowsze informacje.
Najpierw sprawdź dwukrotnie, czy odpowiednie rekordy zostaną usunięte. Tutaj wybieram rekord spośród duplikatów, które zostaną usunięte (według unikalnego identyfikatora).
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;
Następnie uruchamiam zapytanie o usunięcie, aby usunąć duplikaty:
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;
Utwórz kopię zapasową, sprawdź dwukrotnie, sprawdź, sprawdź kopię zapasową, a następnie uruchom.