중복 행을 빠르게 보려면 단일 간단한 쿼리를 실행할 수 있습니다.
다음은 테이블을 쿼리하고 동일한 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;
중복 행을 삭제하려면 삭제할 행을 결정해야합니다. 예를 들어 ID가 낮거나 (보통 오래된) 다른 날짜 정보가있을 수 있습니다. 제 경우에는 최신 ID가 최신 정보이므로 하위 ID를 삭제하고 싶습니다.
먼저 올바른 레코드가 삭제되는지 다시 확인하십시오. 여기서는 (고유 ID로) 삭제 될 중복 중에서 레코드를 선택하고 있습니다.
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;
백업, 이중 확인, 확인, 백업 확인 및 실행