Чтобы быстро увидеть повторяющиеся строки, вы можете выполнить один простой запрос
Здесь я опрашиваю таблицу и перечисляю все повторяющиеся строки с одинаковыми user_id, market_place и 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;
Чтобы удалить дублирующую строку, вы должны решить, какую строку вы хотите удалить. Например, с более низким идентификатором (обычно старше) или, возможно, с другой информацией о дате. В моем случае я просто хочу удалить нижний идентификатор, поскольку более новый идентификатор является самой последней информацией.
Сначала проверьте, удаляются ли нужные записи. Здесь я выбираю запись среди дубликатов, которые будут удалены (по уникальному идентификатору).
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;
Затем я запускаю запрос на удаление, чтобы удалить обманщиков:
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;
Резервное копирование, Двойная проверка, проверка, проверка резервной копии, затем выполнить.