MSSQL - 중복데이터 처리
2021. 10. 23. 02:17ㆍRDBMS
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 |