💌문제
https://school.programmers.co.kr/learn/courses/30/lessons/144856
💌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() 집계함수를 이용해 총매출액을 계산한다.
'SQL' 카테고리의 다른 글
[프로그래머스/MySQL] 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2023.02.19 |
---|---|
[프로그래머스/MySQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 Level3 (0) | 2023.02.15 |
댓글