用SQL语句去掉重复的记录

两盒软妹~` 提交于 2019-12-09 14:36:28

删除手机(mobilePhone),电话(officePhone),邮件(email)同时都相同的数据

1.delete from 表 where id not in (select max(id) from 表 group by mobilePhone,officePhone,email )               or       delete from 表 where id not in (select min(id) from 表 group by mobilePhone,officePhone,email )

2.将没有重复的数据ID选出来放在临时表里,再将表的信息按临时表的选择出来的ID,将它们找出来插入到新的表,然后将原表删除

//查询出唯一数据的ID,并把他们导入临时表tmp中      

 select min(id) as mid into tmp from 表 group by mobilePhone,officePhone,email  
//查询出去重后的数据并插入finally表中    
insert into finally select (除ID以外的字段) from customers_1 where id in (select mid from tmp)   
查找表中存在这几个字段的重复数据并按照插入的时间先后进行删除
  select row_num = row_number() over(partition by 字段,字段 order by 时间 desc)  
   from 表 where 时间> getdate()-1  
   ) tmp   
  where row_num > 1   
select max(主键ID) from 表 group by 需要去重的字段 having count(需要去重的字段)>=1  
 )   
搜索过滤重复数据
1.select distinct name from A
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!