Para ver rapidamente as linhas duplicadas, você pode executar uma única consulta simples
Aqui estou consultando a tabela e listando todas as linhas duplicadas com o mesmo user_id, market_place e 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;
Para excluir a linha duplicada, você deve decidir qual linha deseja excluir. Por exemplo, aquele com ID inferior (geralmente mais antigo) ou talvez alguma outra informação de data. No meu caso, só quero excluir o ID inferior, pois o ID mais recente é a informação mais recente.
Primeiro verifique se os registros corretos serão excluídos. Aqui, estou selecionando o registro entre duplicatas que serão excluídas (por ID único).
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;
Em seguida, executo a consulta de exclusão para excluir os dupes:
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, verifique, verifique, verifique o backup e execute.