หากต้องการดูแถวที่ซ้ำกันอย่างรวดเร็วคุณสามารถเรียกใช้แบบสอบถามแบบง่าย ๆ ได้
ที่นี่ฉันกำลังสอบถามตารางและแสดงรายการแถวที่ซ้ำกันทั้งหมดด้วย 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 เฉพาะ)
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;
สำรองข้อมูล, ตรวจสอบอีกครั้ง, ตรวจสอบ, ยืนยันข้อมูลสำรองจากนั้นดำเนินการ