辽宁11选5走势图:怎么樣刪除Oracle中的重復記錄 應該怎么做?

來源:互聯網
責任編輯:魯能
 綜合 
字體:

福建体彩走势图 www.uyduz.icu

探索這篇文章查詢重復記錄刪除單個重復記錄刪除多個重復記錄刪除包含指定列的行顯示其它1點...顯示較少內容...相關文章參考

當你使用Oracle時,可能會發現有重復記錄。你可以通過查詢重復行、使用其RowID,或者行地址來刪除它們。在開始之前,你應該創建一個備份表,以防在刪除記錄之后需要引用它們。

1查詢重復記錄

以Delete Duplicate Records in Oracle Step 1為標題的圖片

1查詢重復記錄。在本例中,查詢示例重復記錄“Alan”。通過輸入下面的SQL,確保要刪除的記錄確實是重復的。

以Delete Duplicate Records in Oracle Step 2為標題的圖片

2從名為“Names”的列中查詢重復記錄。在本例中,列名為“Names”,你要用Names來替換“column_name”。

以Delete Duplicate Records in Oracle Step 3為標題的圖片

3從其他列中查詢重復記錄。如果你嘗試從其他列中查詢重復記錄,比如Alan的年齡,而不是他的名字,那么你需要在“column_name”這個地方輸入“Ages”,以此類推。

SELECT column_name, COUNT(column_name) FROM TABLE GROUP BY column_nameHAVING COUNT (column_name) > 1;

2刪除單個重復記錄

以Delete Duplicate Records in Oracle Step 4為標題的圖片

1Select "name from names."在“SQL(結構化查詢語言)”后輸入“select name from names.”

以Delete Duplicate Records in Oracle Step 5為標題的圖片

2刪除所有有重復名稱的行。在“SQL,”后輸入“delete from names where name='Alan';”。注意,字母大寫很重要,這樣就可以刪除所有名為“Alan”的行。在“SQL”后輸入“commit”。[1]

以Delete Duplicate Records in Oracle Step 6為標題的圖片

3重新輸入沒有重復記錄的行。現在已經刪除了所有名為“Alan”的行,可以通過輸入“insert into name values ('Alan');”來插入一條記錄。在“SQL”后輸入“commit”,創建新行。

以Delete Duplicate Records in Oracle Step 7為標題的圖片

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刪除多個重復記錄

以Delete Duplicate Records in Oracle Step 8為標題的圖片

1選擇要刪除的RowID。在“SQL”后輸入“select rowid, name from names;”。

以Delete Duplicate Records in Oracle Step 9為標題的圖片

2刪除重復記錄。在“SQL”后輸入“delete from names a where rowid > (select min(rowid) from names b where b.name=a.name);”來刪除重復記錄。[2]

以Delete Duplicate Records in Oracle Step 10為標題的圖片

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刪除包含指定列的行

以Delete Duplicate Records in Oracle Step 11為標題的圖片

1選擇行。在“SQL”后輸入“select * from names;”來查看行。

以Delete Duplicate Records in Oracle Step 12為標題的圖片

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]

以Delete Duplicate Records in Oracle Step 13為標題的圖片

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.

根據您訪問的內容,您可能還對以下內容感興趣,希望對您有幫助:

oracle數據庫怎么刪除重復數據只留一個?

答:delete from GXS_VIEW_PATIENT_INFO where rowid not in (select min(rowid) from GXS_VIEW_PATIENT_INFO group by 某字段) 某字段就是按照某幾個分組 比如數據 id name 1 a 1 a 1 a 你最后group by id或者group by name都可以 但是如果 id name...

oracle中刪除兩條相同記錄中的一條,該怎么操作?

答:delete from dept where rowid not in (select min(rowid) from dept group by deptno , dname ,loc) 這樣可以保證所有的重復數據僅保留一條,其余的刪除

oracle數據庫怎么刪除重復數據只留一個?

答:直接執行該sql就可以了: delete from dj_clr a where (a.dj_mc,a.dj_dh) in (select dj_mc,dj_dh from dj_clr group by dj_mc,dj_dh having count(*) > 1) and rowid not in (select min(rowid) from dj_clr group by dj_mc,dj_dh having count...

oracle刪除重復的行怎么刪啊

答:假設你表名為a 唯一的字段名為 xxxx, 按如下方式 delete a where a.rowid not in( select min(a.rowid) from a group by a.xxxx) 每個表都有一個rowid列

oracle數據庫中怎樣刪除一個表的重復數據。

答:這個問題就是要刪除表中重復的記錄,查詢的sql語句如下: select id,name from ( select id,name,row_numer() over(partition by id,name order by id,name) rn from tableA) where rn>1; 刪除的sql語句如下: DELETE tableA WHERE ROWNUM = (SE...

oracle中怎樣去除重復數據

答:用這種效率最高的就可以 比如,某個表要按照id和name重復,就算重復數據 delete from 表名 where rowid not in (select min(rowid) from 表名 group by id,name);commit;如果以id,name和grade重復算作重復數據 delete from 表名 where rowid no...

Oracle中怎樣查詢,刪除一張表中的重復數據

答:---查找重復數據 select count(*), max(t.jjxjj_id), t.jjxjj_code from JXKH_JXJJ t group by t.jjxjj_code, t.jjxjj_time having count(*) > 1 and t.jjxjj_time >= TO_DATE('2014-04-01', 'YYYY-MM-DD') and t.jjxjj_time = TO_DATE('2014-04...

Oracle中如何刪除重復數據

答:我們可能會出現這種情況,某個表原來設計不周全,導致表里面的數據數據重復,那么,如何對重復的數據進行刪除呢? 重復的數據可能有這樣兩種情況,第一種時表中只有某些字段一樣,第二種是兩行記錄完全一樣。 一、對于部分字段重復數據的刪除 先...

oracle中怎么刪除數據中重復的字段,只保留重復數...

答:oracle中在一張表中某個字段下面有重復記錄,有很多方法,但是有一個方法,是比較"高效"的,如下語句: SELECT data_guid FROM adam_entity_datas a WHERE a.rowid > (SELECT MIN(b.rowid) FROM adam_entity_datas b WHERE b.data_guid = a.data...

oracle刪除數據庫里大量表中的重復數據

答:1、建議你刪除了,重新導,推薦。 2、非要刪除的話,也是可以,不過你的表有點多,得考慮好刪除后,表的數據關聯可能會出問題 3、刪除重復的語句,你可以百度一下,或者到我們海楓科技社區中提問一下,用group by 的方式或者ID的方式。網上應該...


福建体彩走势图 www.uyduz.icu true //www.uyduz.icu/10/4336/108655.html report 41752 怎么樣刪除Oracle中的重復記錄應該怎么做?,探索這篇文章查詢重復記錄刪除單個重復記錄刪除多個重復記錄刪除包含指定列的行顯示其它1點...顯示較少內容...相關文章參考當你使用Oracle時,可能會發現有重復記錄。你可以通過查詢重復行、使用其RowID,或者行地址來刪除它們。在開始之前,你應該創...
娛樂時尚
    科技資訊
    歷史文化
      真視界
      旅游美食
      精彩圖文
      我愛我車
      母嬰健康
      關于本站 | 廣告服務 | 手機版 | 商務合作 | 免責申明 | 招聘信息 | 聯系我們
      Copyright © 2004-2018 www.uyduz.icu All Rights Reserved. 布客網 版權所有
      京ICP備10044368號-1 京公網安備11010802011102號
      教育考試: 學歷財經建筑 醫藥公考資格外語電腦作文招聘中小學留學 文檔 移民 文庫專欄23問答中心z資訊z資訊1資訊漲資訊漲資訊1資訊問答圖書館知識IT編程數碼信息解決方案信息中心IT科技問答新聞中心軟件教室設計大全網絡相關英語學習開發編程考試中心參考范文管理文庫營銷中心站長之家IT信息中心商學院數碼大全硬件DIY企業服務網吧在線百科硬件知識手機平板汽車游戲家電精彩攝影現代家居IT女人經驗健康養生獵奇創業攻略教育學習歷史時尚潮流福建体彩走势图漲知識
      pk106码翻倍公式 龙虎和有什么技巧 捕鱼手机游戏下载 时时彩龙虎和倍投方法 三颗骰子比大小怎么赌稳赢 sg飞艇闯关计划软件 极速赛车是什么意思 LG游戏平台网址 重庆时时彩计划 稳定版 北京pk10两期计划软件 pk10号码规律走势 龙虎和app 赛车pk10走势图 幸运飞艇计划软件预测下载 星彩网首页 pt平台娱乐