Database/MySQL

데이터 중복 값 최신 1개 남기고 삭제

Jeffrey Oh 2020. 11. 19. 15:46
반응형
DELETE FROM 테이블명
WHERE 일련번호 IN (
SELECT 일련번호 FROM (
SELECT ROW_NUMBER() OVER (
PARTITION BY 중복컬럼명 ORDER BY 일련번호 DESC ) A,
일련번호 FROM 테이블명
--조건필요하면 추가--
) B
WHERE A > 1 )

만약 과거 데이터 1개가 남아야하면 ASC 정렬하면된다 (위에선 DESC 지우면 됨)

반응형