【MYSQL】删除重复的电话号码

编写一个 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;

猜你喜欢

转载自blog.csdn.net/sphinx1122/article/details/83821717