중복 데이터 건수 찾기
아래 쿼리를 통해 두가지를 할 수 있다.
1. 중복되고 있는 데이터 조회
2. 중복된 데이터의 개수 조회
(* 활용시 부가적 기능 : 중복 제거)
중복체크를 원하는 컬럼을 그룹핑해서,
그룹핑 조건(HAVING 절) 에 COUNT' 로 '1건 이상(초과)'을 조회하면 중복 되고 있는 데이터를 알 수 있다.
해당 데이터가 몇건 중복되는지 확인하려면 COUNT(COLUM_NAME) 로 찾을 수 있다.
Tip
* HAVING 절에 그룹핑한 조건의 raw가 1건 초과인 경우를 조회하고 있기 때문에, 조회된 결과는 모두 중복데이터이며 COUNT를 통해 몇건의 중복이 발생하는지 확인할 수 있다.
SELECT 컬럼1, 컬럼2, ... , 컬럼n
, COUNT(컬럼1) -- 중복 갯수
FROM 테이블명
GROUP BY 컬럼1, 컬럼2, ... , n
HAVING COUNT(컬럼1) > 1
예제
MEMBER_ID, TIMESTAMP 데이터별로 중복되고 있는 데이터가 3건 조회되며,
해당 데이터는 각2건씩 중복되고 있었다.
* CNT 가 2씩 동일해서 헷갈릴 수 있는데, 실 데이터가 2건씩 중복되고 있었음.
MEMBER_ID가 2 이고, TIMESTAMP가 15:44:00인 raw 데이터가 2건 있다.
MEMBER_ID가 2 이고, TIMESTAMP가 16:21:00인 raw 데이터가 2건 있다.
MEMBER_ID가 2 이고, TIMESTAMP가 16:22:00인 raw 데이터가 2건 있다.
'DBMS > Oracle' 카테고리의 다른 글
[ORACLE] CASE 함수 / CASE WHEN (0) | 2021.06.04 |
---|---|
[Oracle] 전년도 현재 년도에 복사, INSERT - SELECT문 , SELECT한 결과를 INSERT (0) | 2021.05.27 |
[Oracle] 조회한 가상 컬럼의 연산 (0) | 2021.02.10 |
[Oracle] UNION, UNION ALL, 집합 연산 (0) | 2021.01.13 |
[Oracle] INSERT / SELECT 결과 INSERT / INSERT INTO SELECT (0) | 2020.12.18 |