如何刪除oracle庫中相同的記錄
-
如何刪除oracle庫中相同的記錄,但是保留重複記錄中的一條記錄:
-
解決方法:可以利用oracle中的rowid偽列來達到這個目的:
-
-
1.建立臨時表,並將查詢到的重複資料插入其中(是否可以建一個檢視?):
-
create table temp_woods as
-
(select item_id,count(*) as rowcount from wooods group by item_id having count(*) > 1 );
-
-
2.查詢相同的紀錄:
-
select a.*,a.rowid from woods a where a.rowid <> (select max(b.rowid) from woods b where b.item_id in (select item_id from temp_woods) where b.item_id = a.item_id) ;
-
-
3.刪除重複的記錄並保留其中rowid列最大的紀錄:
-
delete from woods a where a.rowid <> (select max(b.rowid) from woods b where b.item_id in (select item_id from temp_woods) where b.item_id = a.item_id) ;
-
-
4.刪除臨時表:
- drop table temp_woods cascade constraints ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28878983/viewspace-2133898/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle如何刪除表中重複記錄保留第一條Oracle
- 如何在 Linux 中刪除目錄Linux
- 刪除linux下的oracle資料庫LinuxOracle資料庫
- MySQL資料庫中刪除重複記錄的方法總結[推薦]MySql資料庫
- 怎麼刪除電腦中開啟的檔案記錄?刪除電腦中開啟的檔案記錄方法教程
- 刪除重複id的記錄
- MYSQL資料庫表記錄刪除解決方案MySql資料庫
- linux 刪除問題 一次刪除多個目錄下的相同副檔名的檔案Linux
- Oracle 11g刪除庫重建Oracle
- 如何刪除Git倉庫中冗餘的tag?Git
- mysql刪除一條記錄MySql
- 找出倆個字串的相同並刪除字串
- oracle使用小記、刪除恢復Oracle
- 如何刪除遠端桌面歷史連線記錄
- windows下Oracle資料庫完全刪除WindowsOracle資料庫
- windows10更新記錄刪除_怎樣刪除win10更新歷史記錄WindowsWin10
- Oracle中刪除表中的重複資料Oracle
- [20190130]刪除tab$記錄的恢復.txt
- 刪除a表中和b表相同的資料
- GBase XDM(單機/分片叢集)資料庫 刪除記錄資料庫
- Navicat Oracle 刪除使用者錯誤ora-01922 個人記錄Oracle
- vue-cli 如何修改或刪除預設preset記錄Vue
- oracle資料庫建立、刪除索引等操作Oracle資料庫索引
- 刪除Chrome位址列記錄中自動補全的網址Chrome
- MySQL:簡單記錄刪除binary log的介面MySql
- mysql/mariadb學習記錄——建立刪除資料庫、表的基本命令MySql資料庫
- 面試題: 資料庫:delete和trancate刪除表記錄的區別面試題資料庫delete
- Linux 中刪除目錄的多種方法Linux
- Win10系統中Microsoft Edge如何刪除歷史記錄,Cookie、快取Win10ROSCookie快取
- 為什麼刪除記錄表檔案不會減小?(記錄的插入與刪除在磁碟上的變化)
- 4.2.5 從 Oracle Restart 配置中刪除元件OracleREST元件
- win10系統下如何刪除Google搜尋記錄Win10Go
- SAP QM 樣品廢棄後如何刪除physical samples記錄?
- 如何在 Ubuntu 中刪除倉庫及其 GPG 金鑰Ubuntu
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- oracle刪除日誌Oracle
- win10怎麼刪除搜尋框記錄_win10系統刪除搜尋框記錄的步驟Win10
- win10 1803系統中時間線無法刪除記錄如何解決Win10
- 聊聊關於資料庫表記錄刪除都有哪些解決方式資料庫