数据库去重_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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • async的基本用法「建议收藏」

    async的基本用法「建议收藏」1.async函数的基本形式2.async函数的返回值总是一个Promise无论async函数有无await操作,其总是返回一个Promise。1.没有显式return,相当于return

    2022年6月30日
    30
  • 布隆过滤器-原理介绍[通俗易懂]

    布隆过滤器-原理介绍[通俗易懂]一、布隆过滤器概念引入     (BloomFilter)是由布隆(BurtonHowardBloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例Falsepositives,即BloomFilter报告某一元素存在

    2022年9月27日
    0
  • 联想笔记本键盘亮了屏幕不亮怎么办_电脑开机显示器和键盘都不亮

    联想笔记本键盘亮了屏幕不亮怎么办_电脑开机显示器和键盘都不亮联想电脑显示器不亮怎么办联想电脑显示器不亮解决方法一:1、开机后,我们先不管显示器是否能正常的亮或显示,我们先再次按主机上的重启键,然后我们按一下键中的“numlock”键,也就是台式键盘右边的数字开关切换键。2、如数字开关键上面的数字锁定灯可以正常的亮或正常的灭,这时就说明电脑主机一般没啥事儿了,基本上可以确定是由显示器本身的问题了。3、如无法显示正常的灯亮和灯灭的话,那么基本可以说明是电脑机…

    2022年9月20日
    0
  • java将字符串分段输出_java输入字符串并将每个字符输出的方法[通俗易懂]

    java将字符串分段输出_java输入字符串并将每个字符输出的方法[通俗易懂]java输入字符串并将每个字符输出的方法如下所示:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){inti,len;Stringstr;Scannerin=newScanner(System.in);str=in.next();len=str.length();…

    2022年10月17日
    1
  • nginx基本配置「建议收藏」

    nginx基本配置「建议收藏」Nginx概念Nginx是一个高性能的HTTP和反向代理服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。Nginx专为性能优化而开发,性能是

    2022年7月1日
    23
  • pythoncharm解释器_pycharm自带python

    pythoncharm解释器_pycharm自带python在运行新项目中选择解释器,发现之前的解释器invalid:解决方法:1.选addsysteminterpreter找到安装python.exe的位置点击OK稍等后完成

    2022年8月27日
    4

发表回复

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

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