如何刪除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
- 找回Oracle中Delete刪除的記錄Oracledelete
- 查詢、刪除多個欄位相同的記錄
- Oracle如何刪除表中重複記錄保留第一條Oracle
- Oracle 刪除表中重複記錄的DELETE SQLOracledeleteSQL
- ORACLE資料庫刪除表中記錄報record is locked by another userOracle資料庫
- 刪除Oracle重複記錄Oracle
- oracle刪除重複記錄Oracle
- 高效快速刪除Oracle表中重複記錄Oracle
- oracle-快速刪除重複的記錄Oracle
- oracle 對錶中的記錄進行大批量刪除Oracle
- 如何刪除oracle資料庫Oracle資料庫
- sql觸發器刪除資料庫中的級聯記錄SQL觸發器資料庫
- MYSQL中刪除重複記錄的方法薦MySql
- 用SQL語言刪除表中的記錄SQL
- 如何在 Linux 中刪除目錄Linux
- Oracle使用over()partition by刪除重複記錄Oracle
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- 查詢刪除表中重複記錄
- 怎麼刪除電腦中開啟的檔案記錄?刪除電腦中開啟的檔案記錄方法教程
- MySQL資料庫中刪除重複記錄的方法總結[推薦]MySql資料庫
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄) 轉Oracle
- 【轉】oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- 刪除不掉的資料記錄
- 如何不使用DBCA在Oracle 11中刪除資料庫Oracle資料庫
- 轉載:Oracle中查詢和刪除重複記錄方法簡介Oracle
- 如何刪除Git倉庫中冗餘的tag?Git
- db2中刪除重複記錄的問題DB2
- sql server 中刪除內容重複的某條記錄SQLServer
- MYSQL資料庫表記錄刪除解決方案MySql資料庫
- mysql刪除一條記錄MySql
- 找出倆個字串的相同並刪除字串
- Oracle 查詢並刪除重複記錄的SQL語句OracleSQL
- linux 刪除問題 一次刪除多個目錄下的相同副檔名的檔案Linux
- 如何刪除遠端桌面歷史連線記錄
- 在SQL Server中快速刪除重複記錄(轉)SQLServer
- openstack中徹底刪除計算節點的操作記錄
- 陣列 重複不新增 、相同刪除,相同賦值陣列賦值