博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql查询删除重复数据
阅读量:5025 次
发布时间:2019-06-12

本文共 602 字,大约阅读时间需要 2 分钟。

数据库UserInfo

删除重复数据 即删除重复的用户名手机号 同一个用户名手机号只保留一个用户

01、根据多个字段查询重复数据

with data1 as(

select MobilePhone,Name from UserInfo

group by MobilePhone,Name
having count(*)>1

),

02、对重复数据分配编号

data2 as (

select u.*,row_number() over(partition by u.MobilePhone,u.Name order by Id ) rowNum from UserInfo u

inner join data1 d on u.Name=d.Name and u.MobilePhone=d.MobilePhone

),

03、查询需要删除数据的主键(每个小组里的编号为一的保留 其它删除)

data3 as(

select Id from data2 where rowNum>1

)

04、根据主键删除数据

delete from UserInfo

where Id in (select Id from data3)

 

删除后

附 sqlserver中分区函数partition by的用法 

 

转载于:https://www.cnblogs.com/zhangchengye/p/5473975.html

你可能感兴趣的文章
类和对象
查看>>
追剧《大秦帝国》之感
查看>>
[转] Python Traceback详解
查看>>
SpringMVC中接收不同类型的数据
查看>>
Windows 创建 Tomcat 服务
查看>>
ArchLinux安装开源VMware Tools
查看>>
系统用户分析模型
查看>>
DB2 锁升级示例1
查看>>
16.RDD实战
查看>>
MainFrame知识小结(20120210)—dfsort/syncsort中的数据类型
查看>>
jsp题库 (一)小测(25/21)
查看>>
D - Flip tile
查看>>
Java连接RabbitMQ之创建连接
查看>>
开户vim编程之--cscope支持
查看>>
团队冲刺第一阶段第七天
查看>>
nginx 笔记
查看>>
&&和||短路逻辑运算
查看>>
初始化列表
查看>>
Sensor与android Manager机制
查看>>
python数据类型图解
查看>>