数据库去重_sql如何去重查询

数据库去重_sql如何去重查询转载地址:https://blog.csdn.net/anya/article/details/6407280/用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*frompeoplewherepeopleIdin(selectpeopl…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

转载地址:https://blog.csdn.net/anya/article/details/6407280/

用SQL语句,删除掉重复项只保留一条

在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people
where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1)
and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1)

3、查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)   

6.消除一个字段的左边的第一位:

update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like ‘村%’

7.消除一个字段的右边的第一位:

update tableName set [Title]=left([Title],(len([Title])-1)) where Title like ‘%村’

8.假删除表中多余的重复记录(多个字段),不包含rowid最小的记录
update vitae set ispass=-1
where peopleId in (select peopleId from vitae group by peopleId

eg:select * from payrecdb.dt_strongrelation x
where (x.payOrRelUserID ,x.rcvOrRelUserID) in (select payOrRelUserID,rcvOrRelUserID from payrecdb.dt_strongrelation group by payOrRelUserID,rcvOrRelUserID having count(*) > 1)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186943.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java divide_java中awt做什么的

    java divide_java中awt做什么的gridx,gridy:设置组件的位置,从0开始gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。建议定义出gridx,gri…

    2025年9月1日
    4
  • ubuntu安装qt4.8.7_ubuntu18.04安装教程

    ubuntu安装qt4.8.7_ubuntu18.04安装教程文章目录更新源安装qt更新源最好用清华的源,比较快$sudoapt-getupdate安装qt$sudoapt-getinstallqt*

    2022年10月15日
    3
  • windows通过cmd查找端口占用

    windows通过cmd查找端口占用windows通过cmd查找端口占用1.查看端口占用情况netstat-ano2.查看某个端口被占用情况netstat-ano|findstrxxxx//xxxx为查询的端口号3.查看某个状态的端口netstat-ano|findstrxxxx//xxxx为查询的端口状态具体端口状态请查找后面描述。…

    2022年5月19日
    45
  • 融合计费账务系统架构与核心功能的研究与实现

    融合计费账务系统架构与核心功能的研究与实现2006年初,融合计费账务系统的发展趋势及其重要性已得到业界的广泛关注,各电信运营商及开发商也开始了相应的讨论、研究和规划,北京联通(原北京网通)在业务和网络的发展驱动下,率先开始了融合计费账务系统的规划与建设,真正建设一个统一支撑大客户、商务客户和公众客户所有客户群,统一支撑北京联通电话、宽带、小灵通、互联网、专线及CP/SP业务等全业务及其灵活捆绑与组合营销,统一支撑在线…

    2025年6月17日
    2
  • 织梦dede列表调用图集的第一张图片大图原图地址(非缩略图)

    织梦dede列表调用图集的第一张图片大图原图地址(非缩略图)

    2021年9月24日
    39
  • cmd ping命令大全_ping命令怎么使用

    cmd ping命令大全_ping命令怎么使用简介:ping是一种Computernetworktools(电脑网络工具),作用是测试数据包是否能通过IP协议到达特定主机。Ping是Windows系统、Unix系统和Linux系统下的一个命令。它也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。该命令还可以加许多参数使用。例如:-t,-l,-n。(注意,所有ping指令都必须在知道IP的情况下使用)使用方法:主要的用法:1.-t:不断向目标IP发送数.

    2022年9月22日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号