지식보부상님의 공부 일지

[프로그래머스] GROUP BY: 저자 별 카테고리 별 매출액 집계하기 본문

SQL 공부

[프로그래머스] GROUP BY: 저자 별 카테고리 별 매출액 집계하기

지식보부상님 2025. 1. 31. 13:53

https://school.programmers.co.kr/learn/courses/30/lessons/144856

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

제출 코드

SELECT T.AUTHOR_ID, T.AUTHOR_NAME, T.CATEGORY, SUM(T.TOTAL_SALES)
FROM
    (SELECT BA.BOOK_ID, BA.CATEGORY, BA.AUTHOR_ID, BA.AUTHOR_NAME, 
            BA.PRICE*S.SUM_SALES AS TOTAL_SALES
     FROM
        (SELECT B.BOOK_ID, B.CATEGORY, B.PRICE, A.AUTHOR_ID, A.AUTHOR_NAME
         FROM BOOK AS B
          JOIN AUTHOR AS A ON B.AUTHOR_ID = A.AUTHOR_ID) AS BA #책,작가 정보 서브쿼리
     JOIN
        (SELECT BOOK_ID, SUM(SALES) AS SUM_SALES
         FROM BOOK_SALES
         WHERE MONTH(SALES_DATE) = 1
         GROUP BY BOOK_ID) AS S #1월의 책 별 판매 부수 서브쿼리
     ON BA.BOOK_ID = S.BOOK_ID) AS T #1월의 책 별 매출액 서브쿼리
GROUP BY 1, 3
ORDER BY 1, 3 DESC