문제 링크 : https://velog.io/@yooha9621/SQLP실기문제-소트튜닝18번
2021년 3월에 변경된 상품 중에서 3월의 최종 상품변경이력의 변경구분코드가 'C2'인 상품의 상품번호와 변경일시를 출력하는 최적 SQL을 작성하세요.
SQL > SELECT 변경일시 AS 최종변경일시 , 상품번호
FROM (
SELECT 변경일시 , 변경구분코드 , 상품번호
,ROW_NUMBER() OVER(PARTITION BY 상품번호 ORDER BY 변경일시 DESC) RNUM
FROM 상품변경이력
WHERE 변경일시 >= TO_DATE('20220301','YYYYMMDD')
AND 변경일시 < TO_DATE('20220401','YYYYMMDD')
)
WHERE RNUM =1
AND 변경구분코드 = 'C2';
🍎 정리
- 상품별 최종 변경일시와 변경 구분코드를 먼저 추출한 뒤 그 중에서 변경 구분코드가 'C2'인 것을 추출한다.