编写一个 SQL 查询,来删除 Person
表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。
我的思路:类似于查询重复的电子邮箱,需要额外再查询一次表,将表2中邮箱相同且Id更大的删除,这样留下的就是最小的了
代码如下:
delete p1 from Person p1 join Person p2 where p1.Email = p2.Email and p1.Id != p2.Id
结果:
编写一个 SQL 查询,来删除 Person
表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。
我的思路:类似于查询重复的电子邮箱,需要额外再查询一次表,将表2中邮箱相同且Id更大的删除,这样留下的就是最小的了
代码如下:
delete p1 from Person p1 join Person p2 where p1.Email = p2.Email and p1.Id != p2.Id
结果: