PRIMARY KEY 나 Unique가 없이 중복된 데이터가 있을때 삭제하는 방법
Data는 중복되더라도 ROW ID는 Unique 하므로 이를 바탕으로
Analytic function 이나 self join 을 이용하여 삭제할 수 있음
1. Analytic Function
delete from dup where rowid in
( select rowid from
( select row_number() over (partition by empno order by sal ) rnum from dup )
where rnum>1)
2. Analytic Function 이 적용 안 될때
delete from dup a where rowid > (select min(rowid) from dup b where a.empno=b.empno)
-- 관련 table
create table dup(empno varchar2(4), sal number)
[바로가기 링크] : http://coolx.net/gate.jsp?url=cboard/read.jsp%3fdb=develop%26num=129
Data는 중복되더라도 ROW ID는 Unique 하므로 이를 바탕으로
Analytic function 이나 self join 을 이용하여 삭제할 수 있음
1. Analytic Function
delete from dup where rowid in
( select rowid from
( select row_number() over (partition by empno order by sal ) rnum from dup )
where rnum>1)
2. Analytic Function 이 적용 안 될때
delete from dup a where rowid > (select min(rowid) from dup b where a.empno=b.empno)
-- 관련 table
create table dup(empno varchar2(4), sal number)
[바로가기 링크] : http://coolx.net/gate.jsp?url=cboard/read.jsp%3fdb=develop%26num=129
'DATABASE' 카테고리의 다른 글
[mysql] 기본적인 모니터링 방법과 Connection과 Memory 튜닝 방법 (0) | 2011.10.16 |
---|---|
[ORACLE] SQLloader 문서 (0) | 2011.10.16 |
[gdbm] DB를 편하게, gdbm 하동훈님의 강좌입니다. (0) | 2011.10.16 |
[mysql] 많은 부분이 링크되어 있네요^^ - 백과사전 (0) | 2011.10.16 |
[mysql] mysql 쿼리를 처리하는 다중 접속 서버에서 - QnA (0) | 2011.10.16 |