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

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


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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • cloudsim仿真_虚拟机cpu怎么分配

    cloudsim仿真_虚拟机cpu怎么分配CloudSim源码分析之虚拟机分配分类: 云计算 CloudSim2011-05-1514:32 1629人阅读 评论(10) 收藏 举报虚拟机integerlistnulltableobject 原文出处:虚拟机分配指的是,选择满足特定条件(内存、软件环境配置等)的主机创建虚拟机的过程,这个过程由Datacenter对象负责。VmAllocationPolicy这

    2022年10月13日
  • 2013年: 全力推进 Cell,Tea 与 Halo

    2013年: 全力推进 Cell,Tea 与 Halo

    2021年8月21日
  • WinRAR去广告方法,了解一下?[通俗易懂]

    WinRAR去广告方法,了解一下?[通俗易懂]经常看到有些人电脑上安装的WinRAR中文版,打开压缩包的时候总是弹出广告,然后又习惯性的点了关闭;作为一名计算机专业的小白,我就忍不了了,找啊找~终于让我找到了去广告的方法233~~~需要用的工具:WinRAR中文版Restorator2007step1:下载安装winRAR,用WinRAR打开一个压缩包确认是否弹广告。(不弹广告就可以走了,没必要看哈哈;有广告接着往下看!…

    2022年6月9日
  • MySQL sysdate-5_mysql sysdate 1

    MySQL sysdate-5_mysql sysdate 1–Mysqlselectformat(12.89,1);–SqlServerselectround(12.89,1);3.日期时间函数–Oracleselectsysdatefromdual;–日期时间–Mysqlselect……日期函数差异MySQLmysql>selectnow();mysql>selectsysdate(…

    2022年10月28日
  • 如何一键远程开机,远程唤醒功能[通俗易懂]

    如何一键远程开机,远程唤醒功能[通俗易懂]使用ToDesk可以在千里之外为您的设备远程进行开机操作视频教程:https://update.todesk.com/wol.mp4ToDesk支持将关机状态下的设备(Windows,macOS,Linux)唤醒开机.这需要满足2个条件:1.开启电脑的网卡WakeOnLAN功能2.您要开机的电脑设备在同一交换机(路由器下),需要有另外一个ToDesk端在运行.比如其他的电脑或手机,iPad,Android电视盒子,或家人的手机安装一个ToDesk,这样您就可以在千里之外为您的电脑

    2022年6月2日
  • 0001.Latex中中文双引号和单引号的写法「建议收藏」

    0001.Latex中中文双引号和单引号的写法「建议收藏」0001.Latex中中文单引号和双引号的写法如何在Latex或者Ctex中输入中文双引号or单引号?在Latex中,查看Tab键上面的键,在英文状态下连续输入两个“,然后输入Enter键左边的单引号’’,输入两次,也是英文状态下哦。可以将一个矩阵$“\cdot$”按列拉直成一个向量注意引号与$符号的位置。同样的,中文单引号如下输入可以将一个矩阵$`\Gamma$’按列拉直成一个向量…

    2022年6月25日

发表回复

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

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