Oracle의 T(id PRIMARY KEY, name)에서 이름별 가장 작은 id 한 행만 보존하려 한다. DELETE 대상 행을 고르는 빈칸 조건은?
DELETE FROM t
WHERE id IN (
SELECT id
FROM (
SELECT id, ROW_NUMBER() OVER (PARTITION BY name ORDER BY id) AS rn
FROM t
) ranked
WHERE ____
);정답 4번
이름 그룹마다 최소 id는 ROW_NUMBER 1을 받는다. 이를 보존하고 두 번째 이후 중복만 삭제하려면 ranked에서 rn > 1인 id를 골라야 한다.
콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-21