'오라클중복데이터'에 해당되는 글 1건

  1. 2020.11.17 oracle 중복된 ROW데이터 삭제 2
Oracle2020. 11. 17. 13:31

 

 

 

이관작업등을 하다가..중복된 데이터를 삭제하고 싶을 때가 있다. 

그럴때는, ROWID를 이용한다.

 

DELETE FROM TMP_STRS_MOMT
WHERE ROWID IN (
SELECT ROWID FROM (
SELECT * FROM (
SELECT ROW_NUMBER() OVER(PARTITION BY 컬럼1, 컬럼2, ... ORDER BY 컬럼1, 컬럼2) AS num
FROM TMP_STRS_MOMT
)
WHERE num > 1 
)
);

 

 

ROW_NUMBER()와 ROWID를 이용한다.

참고로, ROWID는 뒤에 넣는것이 무조건 수치가 커지는것을 보장하지는 않으니..

이점 기억해두고..

해당 쿼리는 쿼리문 살펴보면, 어렵지 않게 쓸 수 있다.

 

 

 

Posted by 사슴영혼'-'