Pour voir rapidement les lignes en double, vous pouvez exécuter une seule requête simple
Ici, je recherche le tableau et répertorie toutes les lignes en double avec les mêmes user_id, market_place et 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;
Pour supprimer la ligne en double, vous devez décider quelle ligne vous souhaitez supprimer. Par exemple, celui avec un identifiant inférieur (généralement plus ancien) ou peut-être d'autres informations de date. Dans mon cas, je veux simplement supprimer l'ID inférieur car l'ID le plus récent est la dernière information.
Vérifiez d'abord si les bons enregistrements seront supprimés. Ici, je sélectionne l'enregistrement parmi les doublons qui seront supprimés (par identifiant unique).
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;
Ensuite, j'exécute la requête de suppression pour supprimer les 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;
Sauvegarde, double vérification, vérification, vérification de la sauvegarde puis exécution.