TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-06-22 |
제목 | SQL*PLUS에서 중복 DATA 처리 방법 | ||
---|---|---|---|
SQL*PLUS에서 중복 DATA 처리 방법
============================== PURPOSE ------- DB에 들어 있는 data 중 중복되어 들어 있는 data를 다루는 방법입니다. EXPLANATION ----------- 중복 data를 찾아 모두 display 하는 방법 중복 data를 찾아 한번만 display하는 방법 sqlplus 에서 중복 data의 경우 처음 record만 display 하게 하는 방법 이 나와 있다. Delete 방법은 bul 11067를 참조 하세요. EXAMPLE --------- 1. 중복 data를 찾아 모두 display 하는 방법 SQL> select * from dept; DEPTNO DNAME LOC ---------- -------------- ------------- 0 ss tt 1 tt ii 2 yy gg 1 tt uu 0 smlee insert SQL> select * from dept a where 1 < (select count(deptno) from dept b where a.deptno =b.deptno); DEPTNO DNAME LOC ---------- -------------- ------------- 0 ss tt 1 tt ii 1 tt uu 0 smlee insert 2. 중복 data를 찾아 한번만 display하는 방법 SQL> select rowid,deptno,dname,loc from dept; ROWID DEPTNO DNAME LOC ------------------ ---------- -------------- ------------- AAAAlXAAEAAAA53AAA 0 ss tt AAAAlXAAEAAAA53AAB 1 tt ii AAAAlXAAEAAAA53AAC 2 yy gg AAAAlXAAEAAAA53AAD 1 tt uu AAAAlXAAEAAAA53AAF 0 smlee insert 1) SQL> select * from dept a where rowid < (select max(ROWID) from dept where dept.deptno =a.deptno) DEPTNO DNAME LOC ---------- -------------- ------------- 0 ss tt 1 tt ii 2) SQL> select * from dept e WHERE rowid > (SELECT min(rowid) FROM dept X WHERE X.Deptno = E.deptno); DEPTNO DNAME LOC ---------- -------------- ------------- 0 smlee insert 1 tt uu 3. sqlplus 에서 중복 data는 처음에만 display 하게 하는 방법 SQL> select * from dept order by deptno; DEPTNO DNAME LOC ---------- -------------- ------------- 0 ss tt 0 smlee insert 1 tt ii 1 tt uu 2 yy gg SQL> break on deptno SQL> select * from dept order by deptno; DEPTNO DNAME LOC ---------- -------------- ------------- 0 ss tt smlee insert 1 tt ii tt uu 2 yy gg |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |