https://school.programmers.co.kr/learn/courses/30/lessons/144856
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
SELECT AUTHOR_ID
, AUTHOR_NAME
, CATEGORY
, SUM(B.PRICE * BS.SALES) AS TOTAL_SALES
FROM BOOK AS B
NATURAL JOIN AUTHOR AS A
NATURAL JOIN BOOK_SALES AS BS
WHERE BS.SALES_DATE BETWEEN '20220101' AND '20220131'
GROUP BY B.AUTHOR_ID
, B.CATEGORY
ORDER BY AUTHOR_ID
, CATEGORY DESC
각 테이블의 공통 칼럼을 이용해서 순서대로 JOIN 가능.
그리고 TOTAL_SALES에서 SUM을 사용하는 이유는, 단순히 PRICE * SALES 를 하면 그룹화된 데이터의 맨 위 기록만 남게 되기 때문에 SUM을 해줘야 함.
'SQL' 카테고리의 다른 글
[MYSQL] UNION, DATE_FORMAT (0) | 2024.08.04 |
---|---|
[MYSQL] WITH, JOIN, CASE, 집계 함수 (0) | 2024.08.04 |
[MYSQL] PERCENT_RANK() (0) | 2024.08.04 |
[MYSQL] WITH, RANK, PARTITION BY (0) | 2024.07.30 |
[MYSQL] 최댓값, CONCAT (0) | 2024.07.29 |