Для швидкого перегляду повторюваних рядків ви можете запустити один простий запит
Ось я запитую таблицю і перелічу всі повторювані рядки з тим самим 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;
Резервне копіювання, подвійна перевірка, перевірка, перевірка резервної копії та виконання.