코딩테스트/SQL

[SQL][GROUP BY] 📍 저자 별 카테고리 별 매출액 집계하기

박소민 2025. 6. 9. 18:03
저자 별 카테고리 별 매출액 집계하기
 

프로그래머스

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

programmers.co.kr

 

  • 내 풀이
    • 가격*매출량에 SUM()을 해야하는 이유
      • 동일한 저자, 카테고리의 2책이 있을 때, 
      • 1번 책 가격*매출량
      • 2번 책 가격*매출량
        • → 2개가 따로 묶임 
      • (저자,카테고리) 별로 총 매출액을 구하려면 그것들을 SUM() 해줘야함
SELECT A.AUTHOR_ID AS AUTHOR_ID, AUTHOR_NAME, CATEGORY, SUM(SALES*PRICE) AS TOTAL_SALES
FROM BOOK B
JOIN AUTHOR A
ON B.AUTHOR_ID = A.AUTHOR_ID
JOIN BOOK_SALES S
ON S.BOOK_ID= B.BOOK_ID
WHERE SALES_DATE LIKE '2022-01%'
GROUP BY 1,3
ORDER BY 1 ASC, 3 DESC
SELECT A.AUTHOR_ID AS AUTHOR_ID, AUTHOR_NAME, CATEGORY, SUM(SALES*PRICE) AS TOTAL_SALES
FROM BOOK B
JOIN AUTHOR A
ON B.AUTHOR_ID = A.AUTHOR_ID
JOIN (SELECT BOOK_ID, SUM(SALES) AS SALES
      FROM BOOK_SALES
      WHERE SALES_DATE LIKE '2022-01%'
      GROUP BY 1) AS S
ON S.BOOK_ID= B.BOOK_ID
GROUP BY 1,3
ORDER BY 1 ASC, 3 DESC