본문 바로가기
Web Programing!/Oracle

[ORACLE]중복제거&전체 값 가져오기 ROW_NUMBER()

by 어설픈봉봉이 2012. 2. 16.
반응형
SMALL

























SELECT *
FROM (
  SELECT 컬럼1, 컬럼2, 컬럼3,
         ROW_NUMBER() OVER( PARTITION BY 중복조회컬럼 ORDER BY 정렬컬럼  ) CNT
  FROM 테이블
  )
WHERE CNT > 1

여러 테이블을 조인해서 가져올때 중복제거를 하기에 어려울때가 많습니다.

히 다 짜여져있는 쿼리 및 소스에서 변경하기란 힘들다. GROUP BY도 하기 힘들때가 있죠

이럴때 사용하면 편할것 같은 중복제거입니다.

ROW_NUM처럼 레코드 갯수에 숫자를 붙여주는데 ROW_NUMBER() OVER는 더욱 세밀하게 나눌 수 

있게 [ 중복조회컬럼 ]을 정의한 필드에 중복된 순위를 만들어줍니다.


반응형