sql> create table lunar (
2c1 char(4),
3c2 varchar2(20) 4)
5/
表已建立。
sql> insert into lunar values('1111','1111');
已建立1 行。
sql> insert into lunar values('1112','1111');
已建立1 行。
sql> insert into lunar values('1113','1111');
已建立1 行。
sql> insert into lunar values('1114','1111');
已建立1 行。
sql> commit;
提交完成。
sql>
建立重覆記錄:
sql> insert into lunar select * from lunar;
已建立4行。
sql> commit;
提交完成。
sql> select rowid,c1,c2 from lunar;
rowidc1c2
------------------ ---- --------------------
aaag/oaagaaaaamaaa 1111 1111
aaag/oaagaaaaamaab 1112 1111
aaag/oaagaaaaamaac 1113 1111
aaag/oaagaaaaamaad 1114 1111
aaag/oaagaaaaamaae 1111 1111
aaag/oaagaaaaamaaf 1112 1111
aaag/oaagaaaaamaag 1113 1111
aaag/oaagaaaaamaah 1114 1111
已選擇8行。
sql>
查出重覆記錄
sql> select rowid,c1,c2
2from lunar
3where lunar.rowid!=(select max(rowid)
4from lunar b
5where lunar.c1=b.c1 and lunar.c2=b.c2);
rowidc1c2
------------------ ---- --------------------
aaag/oaagaaaaamaaa 1111 1111
aaag/oaagaaaaamaab 1112 1111
aaag/oaagaaaaamaac 1113 1111
aaag/oaagaaaaamaad 1114 1111
sql>
刪除重覆記錄:
sql> delete from lunar a
2where a.rowid!=(select max(rowid)
3from lunar b
4where a.c1=b.c1 and a.c2=b.c2);
已刪除4行。
sql> commit;
提交完成。
sql> select rowid,c1,c2 from lunar;
rowidc1c2
------------------ ---- --------------------
aaag/oaagaaaaamaae 1111 1111
aaag/oaagaaaaamaaf 1112 1111
aaag/oaagaaaaamaag 1113 1111
aaag/oaagaaaaamaah 1114 1111
sql>
使用ROWID查詢和刪除重複行
sql create table lunar 2c1 char 4 3c2 varchar2 20 4 5 表已建立。sql insert into lunar values 1111 1111 已建立1 行。sql insert into lunar values 1112 1111 已建立1 行...
oracle 使用rowid刪除重複資料
經常有這樣乙個業務場景,我們在同一張表中有重複的記錄,我們要刪除重複的記錄,這篇文章就是用來解決這個問題的,用的方法是我目前遇到的效率最高的方法 如果有更好的方法歡迎提供 這個方法會用到了rowid,下面簡單介紹一下rowid的定義 rowid 資料庫中行的全域性唯一位址 對於資料中的每一行,row...
使用UltraEdit刪除重複的行
開啟檔案後,選擇 file sort advanced sort options remove duplicates 就可以了。ultraedit刪除空行的7種方法。1 如果是unix格式,替換 n n為 n,或者替換 n?為空 2 如果是dos格式,特換 r n r n為 r n 3 一般文字替換...