Algorithm & SQL/Programmers

[Programmers LV.4 / MySQL] 저자 별 카테고리 별 매출액 집계하기(GROUP BY)

김룹 2024. 3. 10. 16:59

 

 

프로그래머스

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

programmers.co.kr

 

 

 

👇 정답 코드

SELECT a.author_id AS AUTHOR_ID
		, a.author_name AS AUTHOR_NAME
        , b.category AS CATEGORY
        , SUM(b.price * s.sales) AS TOTAL_SALES
FROM author AS a
    LEFT JOIN book AS b ON b.author_id = a.author_id
    LEFT JOIN book_sales AS s ON s.book_id = b.book_id
WHERE s.sales_date LIKE '2022-01%'
GROUP BY AUTHOR_ID, CATEGORY
ORDER BY author_id ASC, category DESC

 

느낀 점 및 정리 ✍️

1. author, book, book_sales 테이블을 다함께 JOIN 시켜준 뒤 날짜가 2022-01인 경우만 추출했다

2. author_id와 category를 그룹화 시켜주었다.

3. WHERE 절에 작성한 내용은 WHERE YEAR(s.sales_date) = 2022 AND MONTH(s.sales_date) = 1 이라고 작성해도 된다.