ลบแถวที่ซ้ำกันใน MySQL - ลบแถวที่ซ้ำกันโดยใช้คำสั่ง DELETE JOIN

ลบแถวที่ซ้ำกันทั้งหมดยกเว้นหนึ่งใน MySQL หรือไม่ [ทำซ้ำ]

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

การค้นหาส่งคืนอีเมลที่ซ้ำกันในตารางผู้ใช้:

SELECT *, COUNT(email) FROM users
GROUP BY email 
HAVING  COUNT(email) > 1;

ลบแถวที่ซ้ำกันโดยใช้คำสั่ง DELETE JOIN

DELETE table1 FROM users table1
	INNER JOIN users table2 
	WHERE table1.id < table2.id AND table1.email = table2.email

ผลลัพธ์