📒 Database/Oracle
[ORACLE] ROWID를 이용하여 중복데이터 조회 및 제거
a n u e
2021. 11. 3. 10:33
SELECT CLASS, NAME, GENDER, GRADE
FROM STUDENT a
WHERE 1 = 1
AND ROWID > ANY (SELECT ROWID FROM STUDENT b
WHERE 1 = 1
AND a.NAME = b.NAME)
중복 데이터 중, 가장 최근에 등록되어진 데이터를 제외하고 삭제하고 싶다면?
SELECT CLASS, NAME, GENDER, GRADE
FROM STUDENT a
WHERE 1 = 1
AND ROWID < (SELECT MAX(ROWID) FROM STUDENT b
WHERE a.NAME = b.NAME);
DELETE
FROM STUDENT a
WHERE 1 = 1
AND ROWID < (SELECT MAX(ROWID) FROM STUDENT b
WHERE a.NAME = b.NAME);