编写一个 SQL 查询,来删除 Person 表中所有重复的电话,重复的电话里只保留 Id 最小 的那个。
例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:
解法一:分组找出最小的id,然后用not in()排除,剩下的都是可以删的
Delete from person where id not in
(select p1.id from (select min(id) as id from person group by tel ) as p1)
解法二:两表相联,需要指定删哪张,所以p1要加在delete后面
DELETE p1 from person p1,person p2 where p1.tel=p2.tel and p1.id > p2.id;