oracle查询重复数据和删除重复记录示例分享建站
导读:1建站知识oracle查询重复数据和删除重复记录示例分享,大家参考使用吧网站优化seo培训网站建设教程。
一、查询某个字段重复
复制代码 代码如下:
select * from User u where u.user_name in (select u.user_name from 公司网站建设User u group by u.user_name having count(*) > 1)
二,删除表中某几个字段的重复例:表中有条六条记录。 其中张三和王五 的记录有重复 TableA
复制代码 代码如下:
id customer PhoneNo 001 张三 777777 002 李四 444444 003 王五 555555 004 张三 777777 005 张三 777777 006 王五 555555 如何写一个sql语句将TableA变成如下 001 张三 777777 002 李四 444444 003 王五 555555
测试环境
复制代码 代码如下:
create table TableA ( id varchar(3),customer varchar(5),PhoneNo varchar(6)) insert into TableA select '001','张三','777777' union all select '002','李四','444444' union all select '003','王五','555555' union all select '004','张三','777777' uni网站建设多少钱on all select '005','张三','777777' union all select '006','王五','555555'
结果
复制代码 代码如下:
delete TableA from TableA Twhere
exists( select 1fromtablea where customer=T.customer and phoneno=T.phoneno andid < tt.id)
总结
该方法适用于有一个字段为自增性,例如本例中的:id
复制代码 代码如下:
delete 表名 from 表名 as Twhere
exists( select 1from表名 where 字段A=T.字段A and 字段B=T.字段B,(....) and自增列 < T.自增列)
三,查询并删除重复记录的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 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)
注:rowid为oracle自带不用该.....声明: 本文由我的SEOUC技术文章主页发布于:2023-05-23 ,文章oracle查询重复数据和删除重复记录示例分享建站主要讲述示例,标签,oracle查询重复数据和删除重复记录示例网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_5723.html
- 上一篇:网站改版需要考虑哪些方面?建站知识
- 下一篇:教你怎么使用sql游标实例分享建站知识