如何删除sql中某个字段出现重复的数据,且只保留id最小的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除sql中某个字段出现重复的数据,且只保留id最小的相关的知识,希望对你有一定的参考价值。

如图所示表a的各种数据,字段tel重复的数据,然后只保留id最小的数据,出现表b的结果~我自己写的代码直接把所有重复不重复的数据都删除了只保留了id最小的数据,只剩下id为1的数据了,连id=8的数据都被删除了

分解 显示 第1步:

追问

你好如果考虑到需要name跟tel都相同的情况下,只保留id最小的呢?这个怎么实现呢?另外要排除name、tel是null的情况

参考技术A 建议做一个临时表,将id最小的保存下来了然后删除所有数据,在将最小的记录导回来。

create tabke aa as (select id,tel,name,min(id) as minid from a group by id,tel,name,minid)

手头没有具体环境,记得这样写应该可以,思路就是将数据分组,只保留id最小的。记得做之前,先备份好原表,数据是最重要的。

以上是关于如何删除sql中某个字段出现重复的数据,且只保留id最小的的主要内容,如果未能解决你的问题,请参考以下文章

SQL如何删除2个字段的重复数据,如果重复了就只留一条数据,其他的删除,没有ID字段,在线等....急

Oracle中如何删除重复数据

sql查询中如何去除某个字段重复的数据

sql数据库中出现重复行数据,如何删除这些重复记录?

数据库怎样删除多条重复数据保留一条?

mysql 根据两个字段值查询时如何去除重复数据