개발/데이터베이스
[Oracle] 중복 데이터를 찾는 방법
미니시리
2023. 2. 6. 03:18
오라클을 사용할 때 중복된 데이터의 정보를 확인하기 위해서 중복 된 데이터의 조회가 필요할 때가 있습니다.
이때 사용하는 방법에 대해서 알아보겠습니다.
GROUP BY절과 집계함수 사용
GROUP BY 함수를 사용할 경우 해당 컬럼에 대한 중복된 건수를 확인 할 수 있습니다.
SELECT country_code
, country
, COUNT(*) AS cnt
FROM travel
GROUP BY country_code, country HAVING COUNT(*) > 1
위와 같이 조회하면 country_code와 country 컬럼의 값이 동일한 값을 가진 데이터의 숫자를 cnt라는 컬럼으로 확인할 수 있습니다.
OVER절과 분석함수 사용
중복된 컬럼의 정보 뿐만 아니라 원하는 중복된 데이터를 가진 모든 컬럼을 같이 조회할 수 있습니다.
cnt 컬럼의 값은 조회된 데이터 값의 중복된 개수 입니다.
SELECT a.*
FROM (
SELECT country_code
, country
, user_id
, user_name
, COUNT(*) OVER(PARTITION BY country_code, country) AS cnt
FROM travel
) a
WHERE a.cnt > 1