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查詢重復數據和刪除重復記錄示例網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_5723.html
- 上一篇:網站改版需要考慮哪些方面?建站知識
- 下一篇:教你怎么使用sql游標實例分享建站知識