MSSQL - 중복데이터 처리

2021. 10. 23. 02:17RDBMS

MSSQL에서 중복데이터가 발생시 사용하는 쿼리를 한번 살펴 봅니다.

 

우선 중복처리를 위해서 중복을 확인 할 필요가 있습니다.

(단 확실하게 중복이 들어있는것이 맞다면 이 쿼리를 실행하지 않습니다..

 그냥 시간만 낭비할뿐..)

 

SELECT ROW_NUMBER() OVER (PARTITION BY <<Columns Name>>  
ORDER BY <<Columns Name>>, * 
FROM <<Table Name>>

 

이렇게 조회를 하면 내가 중복을 거를 조건을 Column Name으로 하여 조회 할 수 있다.

 

이렇게 중복이 확인 되면 

 

DELETE A
FROM (
        SELECT ROW_NUMBER() OVER (PARTITION BY <<Columns Name>>
ORDER BY <<Columns Name>>) AS NUM, * 
FROM <<Table Name>>
      ) A
WHERE num >= 2

 

각 중복을 확인하고 중복 된 회수를 A에 기록한다. 그리고 A의 회수가 2이상 즉 중복이면 삭제하는 쿼리를

이용하여 중복을 제거한다.

 

- 주의사항

1 . 디비 성능에 따른 속도 편차가 있을 수 있다. 

2 . 데이터 양에 따른 속도 차이가 있을 수 있다. 

3. 조건을 잘 입력해야 깔끔하게 제거가 가능하다.

 

 

 

'RDBMS' 카테고리의 다른 글

MSSQL - 현재 날짜 시간 구하기  (0) 2022.01.04
MSSQL - TABLE에 Column추가하기  (0) 2021.10.28
MSSQL - IDENTITY 값 초기화  (0) 2021.07.12
MariaDB Data Update 하기  (0) 2021.05.25
mariaDB 데이터 INSERT하기  (0) 2021.05.25