如何刪除Oracle中的重複記錄,4種方法來刪除Oracle中的重複記錄
方法1:查詢重複記錄
1、查詢重複記錄。在本例中,查詢示例重複記錄"Alan"。通過輸入下面的SQL,確保要刪除的記錄確實是重複的。
2、從名爲"Names"的列中查詢重複記錄。在本例中,列名爲"Names",你要用Names來替換"column_name"。
3、從其他列中查詢重複記錄。如果你嘗試從其他列中查詢重複記錄,比如Alan的年齡,而不是他的名字,那麼你需要在"column_name"這個地方輸入"Ages",以此類推。
select column_name, count(column_name) from table group by column_namehaving count (column_name) > 1;
方法2:刪除單個重複記錄
1、Select "name from names."在"SQL(結構化查詢語言)"後輸入"select name from names."
2、刪除所有有重複名稱的行。在"SQL,"後輸入"delete from names where name='Alan';"。注意,字母大寫很重要,這樣就可以刪除所有名爲"Alan"的行。在"SQL"後輸入"commit"。
3、重新輸入沒有重複記錄的行。現在已經刪除了所有名爲"Alan"的行,可以通過輸入"insert into name values ('Alan');"來插入一條記錄。在"SQL"後輸入"commit",創建新行。
4、查看新列表。當你完成上述步驟後,通過輸入"select * from names"檢查一下,確保沒有重複記錄。
SQL > select name from names;NAME------------------------------AlanCarrieTomAlanrows selected.SQL > delete from names where name='Alan';rows deleted.SQL > commit;Commit complete.SQL > insert into names values ('Alan');row created.SQL > commit;Commit complete.SQL > select * from names;NAME------------------------------AlanCarrieTomrows selected.
方法3:刪除多個重複記錄
1、選擇要刪除的RowID。在"SQL"後輸入"select rowid, name from names;"。
2、刪除重複記錄。在"SQL"後輸入"delete from names a where rowid > (select min(rowid) from names b where b.name=a.name);"來刪除重複記錄。
3、檢查重複記錄。完成上述操作後,輸入"select rowid,name from names;",然後輸入"commit",檢查是否仍然存在重複記錄。
SQL > select rowid,name from names;ROWID NAME------------------ ------------------------------AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAB AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD TomAABJnsAAGAAAdfOAAF Alanrows selected.SQL > delete from names awhere rowid > (select min(rowid) from names bwhere b.name=a.name);rows deleted.SQL > select rowid,name from names;ROWID NAME------------------ ------------------------------AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD Tomrows selected.SQL > commit;Commit complete.
方法4:刪除包含指定列的行
1、選擇行。在"SQL"後輸入"select * from names;"來查看行。
2、通過查詢每行的列來刪除重複行。在"SQL"後輸入"delete from names a where rowid > (select min(rowid) from names b where b.name=a.name and b.age=a.age);"來刪除重複記錄。
3、查看重複記錄。完成上述步驟後,輸入"select * from names;",然後輸入"commit",以檢查是否成功刪除了重複記錄。
SQL > select * from names;NAME AGE------------------------------ ----------Alan 50Carrie 51Tom 52Alan 50rows selected.SQL > delete from names awhere rowid > (select min(rowid) from names bwhere b.name=a.nameand b.age=a.age);row deleted.SQL > select * from names;NAME AGE------------------------------ ----------Alan 50Carrie 51Tom 52rows selected.SQL > commit;Commit complete.
警告
登錄自己的賬號後創建一個備份表,這樣可以用來顯示進行任何刪除之前的內容(防止出現任何問題)。SQL > create table alan.names_backup as select * from names;Table created.
-
手機qq如何判斷好友是否隱身
1、在手機桌面上打開【QQ】,進入主界面,點擊【聯繫人】選項。然後點擊要判斷是否隱身的好友。在他的詳細資料界面,點擊【發消息】。進入聊天界面後,點擊右上角【通話】。2、在通話方式中,選擇【語音通話】功能。如果顯示【等待對方接聽】,那他就在隱身。顯示爲【對方...
-
黑色背景拍照竅門詳解
1、調整拍攝角度,尋找背景:既然是拍攝黑背景,在拍攝前我們儘量選擇深色的背景,這樣也就更加容易達到效果。不過深色不一定要是純黑色,只要顏色較爲深沉,偏向暗色調的均可。拍攝前多多觀察,尋找不同的拍攝角度,以找到有反差的深色作爲背景。要多嘗試不同的角度,直至主體...
-
學習機什麼牌子好
1、步步高學習機;“步步高點讀機!哪裏不會點哪裏!”。這句廣告可以說是現象級的了。步步高不只是口號喊的響亮,作爲老牌大廠,步步高的學習機確實很優異。步步高學習機是寓教於樂的教學方式。通過興趣,來進行教育。學習知識,獲得金幣。金幣可以飼養學習機中的電子寵物...
-
乾土豆粉怎樣快速泡開
乾土豆粉是用土豆磨成粉然後經過加工製作出來的粉條,它與紅薯粉、米粉一樣,可以存儲一定的時間。吃的時候首先用熱水泡開,然後再用冷水冷卻,土豆粉就會一條一條的分開,不會互相粘在一起。土豆粉不同的吃法,泡開所需要的時間也是不一樣的,如果要用來涼拌,那泡的時間要長...