[오라클 쿼리] RANK 를 구하는 쿼리

2010. 8. 27. 17:35컴퓨터 프로그램/ORACLE

SELECT (동일한 데이터 컬럼 A),
             RANK() OVER(PARTITION BY (동일한 데이터 컬럼 A) ORDER BY 순서컬럼 ASC) AS RANK
FROM 대상 테이블;

랭크와 파티션을 이용한 검색 쿼리

SELECT  *
FROM  대상 테이블
WHERE (동일한 데이터 컬럼 A) IN (
                                                  SELECT (동일한 데이터 컬럼 A)
                                                  FROM TG_STAFF
                                                  GROUP BY (동일한 데이터 컬럼 A)
                                                  HAVING COUNT(*) > 1 
                                                )
1개 이상인 동일한 컬럼의 이름을 찾은뒤 대상 테이블에서 해당 컬럼 명으로 다시 셀렉트