안녕하세요. 궁금한게 있어 문의드립니다.
예를 들면 어떤 프랜차이즈 서점이 있다고하면
책의 분류별로 판매량이 많은 상위 5개의 지역들을 리스트로 불러오고 싶습니다.
분류 소설 과학 컴퓨터 만화
1 서울 경기 부산 인천
2 경기 서울 서울 광주
3 부산 인천 인천 서울
많은 도움 부탁드립니다.
SELECT 순위 , MIN(CASE 분류 WHEN '소설' THEN 지역 END) 소설 , MIN(CASE 분류 WHEN '과학' THEN 지역 END) 과학 , MIN(CASE 분류 WHEN '컴퓨터' THEN 지역 END) 컴퓨터 , MIN(CASE 분류 WHEN '만화' THEN 지역 END) 만화 FROM (SELECT 분류, 지역 , ROW_NUMBER() OVER(PARTITION BY 분류 ORDER BY SUM(판매량) DESC, 지역) 순위 FROM 판매 WHERE 검색조건 GROUP BY 분류, 지역 ) a WHERE 순위 <= 5 GROUP BY 순위 ;