Oracle去除重復(fù)數(shù)據(jù)
查詢某些字段相同的記錄
如:查詢col1與col2值相同的記錄:
select a.* from table1 a, table1 b where a.id <> b.id and a.col1 = b.col1 and a.col2 = b.col2;
一、用rowid方法:
根據(jù)oracle自帶的rowid屬性進(jìn)行判斷是否存在重復(fù)記錄。
rowid偽列用于唯一標(biāo)識(shí)物理位置的表行,當(dāng)用insert插入數(shù)據(jù)時(shí),會(huì)自動(dòng)生成rowid,與數(shù)據(jù)一起存放,形如:AAAL=XAAAEAAAAA。
1、查數(shù)據(jù):
select * from table1 a where rowid!= (select max(rowid) from table1 b where a.col1 = b.col1 and a.col2 = b.col2;
2、刪數(shù)據(jù):
保留rowid最大的記錄:
delete from table1 a where rowid!= (select max(rowid) from table1 b where a.col1 = b.col1 and a.col2 = b.col2;
二、group by 方法:
1、查數(shù)據(jù):
select * from table1 a where (a.col1,a.col2) in (select col1,col2 from table1 group by col1,col2 having count(*)>1)
2、刪數(shù)據(jù):
刪除表中多余的重復(fù)記錄(多個(gè)字段),只保留rowid最小的記錄。
delete from table1 a where (a.col1,a.col2) in (select col1,col2 from table1 group by col1,col2 having count(*)>1) and rowid not in (select min(rowid) from table1 group by col1,col2 having count(*)>1)
到此這篇關(guān)于Oracle去除重復(fù)數(shù)據(jù)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle數(shù)據(jù)庫(kù)中SQL開(kāi)窗函數(shù)的使用
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)中SQL開(kāi)窗函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Oracle在DML語(yǔ)句中使用returing?into子句
這篇文章介紹了Oracle在DML語(yǔ)句中使用returing?into子句的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
Oracle報(bào)錯(cuò)ora-12514檢查以及解決方法
前幾天重新安裝了數(shù)據(jù)庫(kù)服務(wù)器,在服務(wù)器上使用都一切正常,然后在我的客戶端配置一個(gè)tns服務(wù)名卻出問(wèn)題了,下面這篇文章主要給大家介紹了關(guān)于Oracle報(bào)錯(cuò)ora-12514檢查以及解決方法的相關(guān)資料,需要的朋友可以參考下2023-03-03
Oracle阻塞(blockingblocked)實(shí)例詳解
這篇文章主要介紹了Oracle阻塞(blockingblocked),需要的朋友可以參考下2014-07-07
Oracle數(shù)據(jù)庫(kù)正則表達(dá)式純數(shù)字例子
正則表達(dá)式已經(jīng)在很多軟件中得到廣泛的應(yīng)用,包括*nix(Linux, Unix等),HP等操作系統(tǒng),PHP,C#,Java等開(kāi)發(fā)環(huán)境,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)正則表達(dá)式純數(shù)字的相關(guān)資料,需要的朋友可以參考下2024-08-08
Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法
這篇文章主要介紹了Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法,RBO即基于規(guī)則的優(yōu)化方式(Rule-Based Optimization),CBO即基于代價(jià)的優(yōu)化方式(Cost-Based Optimization),需要的朋友可以參考下2014-07-07
詳解PL/SQL Developer連接本地Oracle 11g 64位數(shù)據(jù)庫(kù)
本篇文章主要介紹了PL/SQL Developer連接本地Oracle 11g 64位數(shù)據(jù)庫(kù) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
CentOS 6.3下安裝部署Oracle服務(wù)器圖文教程
這篇文章主要介紹了CentOS 6.3下安裝部署Oracle服務(wù)器圖文教程,本文內(nèi)容詳細(xì),步驟清楚,并配有大量圖片說(shuō)明,需要的朋友可以參考下2014-09-09
Oracle 自定義split 函數(shù)實(shí)例詳解
這篇文章主要介紹了Oracle 自定義split 函數(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01
oracle數(shù)據(jù)庫(kù)中sql%notfound的用法詳解
SQL%NOTFOUND 是一個(gè)布爾值。下面通過(guò)本文給大家分享oracle數(shù)據(jù)庫(kù)中sql%notfound的用法,需要的的朋友參考下吧2017-06-06

