안녕하세요 공부 도중 궁금한것이 있어 남깁니다. 여기 아주 훌륭한 고수분들이 많다 셔서...
테이블이 다음과 같이 구성되어 있습니다.
가게명 사장이름 매출예측계산월 매출예측해당월 금액 -칼럼에
a1 b1 201609 201610 100만원
a1 b1 201608 201610 90만원
a1 b1 201609 201611 105만원
a1 b1 201610 201611 90만원
이렇게 구성이 되어 있다면 밑줄친 부분인 최종매출계산월만 가져 와서. 테이블을 새로 구성하려고 합니다.
select 매출예측해당월, max(매출예측계산월) from table 을 통해 아래와 같이 나올경우
매출예측계산월 매출예측해당월
201609 201610
201610 201611
다시 최종 예측 해당월에 대한 값인 금액을 불러오고 싶습니다.
최종 )
a1 b1 201609 201610 100만원
a1 b1 201610 201611 90만원
더 쉬운 방법이 있으면 조언 부탁드립니다.
WITH T(가게명, 사장이름, 매출예측계산월, 매출예측해당월, 금액) AS ( SELECT 'a1', 'b1', '201609', '201610', 100 FROM dual UNION ALL SELECT 'a1', 'b1', '201608', '201610', 90 FROM dual UNION ALL SELECT 'a1', 'b1', '201609', '201611', 105 FROM dual UNION ALL SELECT 'a1', 'b1', '201610', '201611', 90 FROM dual ) SELECT 가게명, 사장이름, 매출예측계산월, 매출예측해당월, 금액 FROM ( SELECT T.*, ROW_NUMBER() OVER(PARTITION BY 가게명, 사장이름, 매출예측해당월 ORDER BY 매출예측계산월 desc) rn FROM T ) WHERE rn = 1 이런 결과를 원하시는건가요?