반응형
오라클 중복된 데이터 가져오기
업무를 하다보면 중복된 데이터를 찾아야 하는 순간이 오기 마련인데,
어떻게 해야 중복된 데이터를 찾을 수 있는지 한번 알아보자.
대한민국 법정도 코드가 들어있는 CM_KIK_B라는 테이블을 가지고 예를 들어보자.
간단하게 중복된 데이터를 찾는 방법은
찾고자 하는 중복된 데이터 컬럼을 대상으로 GROUB BY를 한 후에 HAVING 절로 COUNT가 1 이상인 것을 가져오면 된다.
그럼 전국적으로 중복되는 "동(KIKB_DONG_NM)"을 찾아보자.
SELECT T1.KIKB_DONG_NM, COUNT(*)
FROM CM_KIK_B T1
GROUP BY T1.KIKB_DONG_NM
HAVING COUNT(*) > 1 ;
추가적으로 GROUB BY ~ HAVING 절 말고도 분석함수를 사용하여 중복된 데이터를 가져올 수 있다.
SELECT T1.*
FROM (
SELECT S1.KIKB_DO_NM , S1.KIKB_DONG_NM
, COUNT(*) OVER(PARTITION BY S1.KIKB_DONG_NM) AS OVERLAP
FROM CM_KIK_B S1
) T1
WHERE T1.OVERLAP > 1 ;
반응형
댓글