SQL/GROUP BY

[프로그래머스 SQL] Lv.4 - 저자 별 카테고리 별 매출액 집계하기

이런개발 2025. 3. 29. 10:17

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

 

프로그래머스

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

programmers.co.kr

문제 풀이

  1. 서브 쿼리로 BOOK 테이블과 BOOK_SALES 테이블을 조인한다.
    1. 판매일이 2022년 1월인 데이터를 필터링한다.
    2. 저자와 카테고리를 기준으로 그룹핑한다.
    3. 저자 ID, 카테고리, SUM 키워드로 저자 별, 카테고리 별 매출액을 조회한다.
  2. 위의 서브 쿼리 테이블과 AUTHOR 테이블을 조인한다.
  3. 저자 ID, 저자명, 카테고리, 매출액을 조회한다.
  4. 저자 ID를 기준으로 오름차순, 카테고리를 기준으로 내림차순 정렬한다.
SELECT
    A.AUTHOR_ID,
    AU.AUTHOR_NAME,
    A.CATEGORY,
    A.TOTAL_SALES
FROM
    (
     SELECT 
        B.AUTHOR_ID, 
        B.CATEGORY, 
        SUM(B.PRICE * BS.SALES) AS TOTAL_SALES
     FROM 
        BOOK_SALES AS BS
            JOIN BOOK AS B ON BS.BOOK_ID = B.BOOK_ID
     WHERE 
        BS.SALES_DATE LIKE '2022-01%'
     GROUP BY 
        1, 2
    ) 
    AS A 
        JOIN AUTHOR AS AU ON A.AUTHOR_ID = AU.AUTHOR_ID
ORDER BY
    1, 3 DESC