Para ver rápidamente las filas duplicadas, puede ejecutar una única consulta simple
Aquí estoy consultando la tabla y enumerando todas las filas duplicadas con el mismo user_id, market_place y 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 eliminar la fila duplicada, debe decidir qué fila desea eliminar. Por ejemplo, el que tiene un ID más bajo (generalmente más antiguo) o tal vez alguna otra información de fecha. En mi caso, solo quiero eliminar la identificación más baja, ya que la identificación más nueva es la información más reciente.
Primero verifique si se eliminarán los registros correctos. Aquí estoy seleccionando el registro entre los duplicados que se eliminarán (por identificación única).
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;
Luego ejecuto la consulta de eliminación para eliminar los engaños:
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;
Copia de seguridad, doble verificación, verificar, verificar la copia de seguridad y luego ejecutarla.