Person表:
IdEmail
1a@163.com2b@163.com3a@163.com
期望结果:
IdEmail
1a@163.com2b@163.com
思路分析: ①从期望结果来看,直达的效果就是将重复的记录删除; ②首先,需要找到那些重复的记录。我们可以将Person表作为p1表和p2表进行连接,先找到重复的记录。 select p1.* from Person p1,Person p2 where p1.Emali = p2.Email; ③找到重复的记录后,我们要确定删除哪些记录,最简单的方式就是保留Id最小的那条记录,删除剩余的重复记录。 select p1.* from Person p1,Person p2 where p1.Email = p2.Email and p1.Id > p2.Id; ④找到需要删除的重复记录后,接着就是进行删除操作。 delete p1 from Person p1,Person p2 where p1.Email = p2.Email and p1.Id > p2.Id;