Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >删除SQL数据库表中的重复记录

删除SQL数据库表中的重复记录

作者头像
学派客
发布于 2023-04-07 09:50:28
发布于 2023-04-07 09:50:28
4.7K0
举报
文章被收录于专栏:学派客学派客

在n条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复并保留一条呢?方法如下:

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

[sql] view plain copy select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

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

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

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录 [sql] view plain copy 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最小的记录 [sql] view plain copy 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)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
sql删除重复记录
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
王念博客
2019/07/24
2.3K0
sql查询重复记录、删除重复记录具体方法
本篇文章重点为大家讲解一下sql查询重复记录、删除重复记录具体方法,有需要的小伙伴可以参考一下。
会长君
2023/04/25
4.2K0
SQL:删除表中重复的记录
--创建测试表 if object_id('test') is not null drop table test create table test ( id int identity(1,1) primary key, name varchar(50) ) --插入几条测试数据 insert into test select 'a' union all select 'a' union all select 'a' union all select 'a' union all select 'a
用户8983410
2021/11/02
5.3K0
SQL查询重复记录方法大全
SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC
javascript.shop
2019/09/04
5.5K0
ORACLE删除重复数据只留一条
2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录
java干货
2021/02/17
2.7K0
常用SQL语句
ERROR 1025 (HY000): Error on rename of ‘./test/#sql-27c_2308’ to ‘./test/student’ (errno: 150) 更改类型编码类型时 出现此错误一般为有外键约束 解决方法 暂时停止外键检查 set foreign_key_checks=0; 4.6
周小董
2019/03/25
1.9K0
SQL 删除重复记录,只保留一条记录
删除表中多余的重复记录,重复记录是根据单个字段(id)来判断,只留有rowid最小的记录 
用户8099761
2023/05/10
1.2K0
删除表中重复数据「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105915.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
1K0
MySQL删除重复数据保留一条,该怎么办?
1、查找表中的多余的重复记录,重复记录是根据单个字段(empID)来判断 ---- select * from Employee where EmpID in (select EmpID from Employee group by EmpID having count(EmpID)>1 ) 2、删除表中多余的重复记录,重复记录是根据单个字段(empID)来判断,, ---- select * from Employee where EmpID in (select EmpID from Employe
赵腰静
2018/03/09
3.1K0
oracle的游标 sql语句,sql游标
declare 游标名 cursor [LOCAL | GLOBAL][FORWARD_ONLY | SCROLL][STATIC | KEYSET | DYNAMIC ] [READ_ONLY | SCROLL_LOCKS]
全栈程序员站长
2022/09/18
1.6K0
【mysql】mysql删除重复记录并且只保留一条
b. ☆第二种方法(与上面查询的第二种方法对应,只是将select改为delete):
全栈程序员站长
2022/09/12
5.7K0
【mysql】mysql删除重复记录并且只保留一条
MySQL查看数据库表中的重复记录并删除
上述语句看着是不是应该正常能执行删除掉用户名和手机号都相同的重复记录只保留id最小的那一条。实际执行会报如下错误:
共饮一杯无
2022/11/28
11.5K0
MySQL查看数据库表中的重复记录并删除
如何实现 MySQL 删除重复记录并且只保留一条
blog.csdn.net/n950814abc/article/details/82284838
JAVA葵花宝典
2020/11/04
1.4K0
如何实现 MySQL 删除重复记录并且只保留一条
104-oracle大表删除重复记录的几种方法
如果是小表,随便怎么折腾都行; 如果是大表(至少1千万条记录以上,或者占用10G以上空间), 我们可能需要想办法加快这个速度 , 这时可以参考下面方法:
老虎刘
2023/09/01
7730
104-oracle大表删除重复记录的几种方法
Oracle数据库查询重复数据及删除重复数据方法
工作中,发现Oracle数据库表中有许多重复的数据,而这个时候老板需要统计表中有多少条数据时(不包含重复数据),只想说一句MMP,库中好几十万数据,肿么办,无奈只能自己在网上找语句,最终成功解救,下面是我一个实验,很好理解。 
星哥玩云
2022/08/17
5.6K0
Oracle数据库查询重复数据及删除重复数据方法
【DB笔试面试469】Oracle中如何删除表中重复的记录?
平时工作中可能会遇到这种情况,当试图对表中的某一列或几列创建唯一索引时,系统提示ORA-01452 :不能创建唯一索引,发现重复记录。这个时候只能创建普通索引或者删除重复记录后再创建唯一索引。
AiDBA宝典
2019/09/30
3K0
Sql 学习查询多种条件(记录自己常用一些方法,本人学习用)
关联查询 查询BO_ACT_MPDL_PROCESS的appid为cwgj时候WFC_PROCESS 的ID,和BO_ACT_MPDL_PROCESS的bindid相等的数据
默 语
2024/11/20
780
Sql 学习查询多种条件(记录自己常用一些方法,本人学习用)
MySQL查询表中重复记录数据方法
Power
2025/03/05
4240
MySQL 处理重复数据的方式
有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。
用户9042463
2021/09/30
2.3K0
Oracle数据库 表连接与表设计
select deptno,e.ename,d.dname from emp e natural join dept d;
wolf
2020/09/21
2.3K0
推荐阅读
相关推荐
sql删除重复记录
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档