중복제거 distinct , rowid
DB/Oracle
2008. 11. 19. 09:22
반응형
동일한 값이 있을 경우단 하나만을 꺼내오고 싶을때가 있다..
이때 distinct 를 사용한다.
[ DISTINCT ]
제시된 필드에 대한 중복체크 (n개 모두)
고로...다수개의 필드중 하나의 필드에만 중복체크가 필요할때는 사용이 불가능하다.
SELECT DISTINCT field_1
FROM table_name
WHERE field_1 = ''
ORDER BY field_1
[ ROWID ]
다수개의 필드중 단 하나의 필드에만 중복 체크를 하려할 경우
SELECT field_1 -- 이넘의 중복건만 제거
, field_2
, field_3
FROM table_name
WHERE field_1 = ''
AND rowid in( select max(rowid) from table_name group by field_1 )
ORDER BY field_1
rowid는 데이터가 많을 경우 부하를 가져온다.
이때는 SUBSELECT를 사용한다.
반응형