ลบแถวที่ซ้ำกันโดยใช้ตารางกลางใน MYSQL

ตารางผู้ใช้มี 5 ระเบียนที่มี อีเมล [email protected] ซ้ำกัน

ขั้นตอนที่ 1 สร้างตารางใหม่ที่มีโครงสร้างเหมือนกับตารางเดิม:

CREATE TABLE user_copy LIKE users

ขั้นตอนที่ 2 แทรกแถวที่แตกต่างจากตารางเดิมไปยังตารางใหม่:

INSERT INTO user_copy SELECT * FROM users GROUP BY email

ขั้นตอนที่ 3 วางตารางเดิมและเปลี่ยนชื่อตารางทันทีเป็นตารางเดิม

DROP TABLE users;  
ALTER TABLE user_copy RENAME TO users;

ผลลัพธ์