본문 바로가기
SQL

[프로그래머스/MySQL] 저자 별 카테고리 별 매출액 집계하기 Level 4

by Rudy 2023. 2. 16.

💌문제


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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

💌SQL


 

SELECT A.AUTHOR_ID,A.AUTHOR_NAME,C.CATEGORY, SUM(SALE) 'TOTAL_SALES'
FROM (SELECT B.BOOK_ID BOOK_ID,B.CATEGORY CATEGORY,B.AUTHOR_ID AUTHOR_ID,S.SALES_DATE SALES_DATE, B.PRICE*S.SALES SALE 
FROM BOOK B JOIN BOOK_SALES S ON B.BOOK_ID=S.BOOK_ID) 
C JOIN AUTHOR A ON A.AUTHOR_ID=C.AUTHOR_ID
WHERE C.SALES_DATE>='2022-01-01' and C.SALES_DATE<'2022-02-01'
GROUP BY A.AUTHOR_ID,C.CATEGORY
ORDER BY A.AUTHOR_ID,C.CATEGORY DESC

 

3중 조인 안에 서브 쿼리를 이용했다.

서브 쿼리에서 책이 팔린 것을 기록해둔 행에서 가격과 팔린 권수를 이용해서 각각의 행 별로 매출액을 계산해두었다. 그 서브쿼리랑 AUTHOR 테이블을 조인한다.

그리고 WHERE절에서 날짜에 대한 조건을 추가하고, GROUP BY를 이용해서 저자별, 카테고리별로 그룹화한다음 SELECT절에서 SUM() 집계함수를 이용해 총매출액을 계산한다.

댓글