728x90
코드 힌트
- 조인 구조:
- BOOK 테이블과 AUTHOR 테이블을 AUTHOR_ID로 조인하여 저자의 정보를 가져옵니다.
- BOOK_SALES 테이블과 BOOK 테이블을 BOOK_ID로 조인하여 판매 정보와 책의 정보를 연결합니다.
- 날짜 필터링:
- TO_CHAR(S.SALES_DATE, 'YYYY-MM') = '2022-01'를 통해 2022년 1월의 판매 기록만 가져옵니다.
- 매출 계산:
- SUM(B.PRICE * S.SALES)는 책의 가격과 판매 수량을 곱한 후, 각 저자와 카테고리별로 총 매출을 계산합니다.
- 그룹화:
- GROUP BY A.AUTHOR_ID, A.AUTHOR_NAME, B.CATEGORY를 통해 저자와 카테고리별로 결과를 그룹화하여 매출을 집계합니다.
- 정렬:
- ORDER BY A.AUTHOR_ID, B.CATEGORY DESC로 저자 ID를 기준으로 오름차순, 카테고리를 기준으로 내림차순 정렬하여 결과를 정리합니다.
정답은 더보기 클릭
더보기
-- 저자 ID, 저자 이름, 책의 카테고리, 총 매출을 조회합니다.
SELECT A.AUTHOR_ID, A.AUTHOR_NAME, B.CATEGORY, SUM(B.PRICE * S.SALES) AS TOTAL_SALES
-- BOOK 테이블과 AUTHOR 테이블을 저자 ID를 기준으로 조인합니다.
FROM BOOK B
JOIN AUTHOR A
ON B.AUTHOR_ID = A.AUTHOR_ID
-- BOOK_SALES 테이블과 BOOK 테이블을 책 ID를 기준으로 조인합니다.
JOIN BOOK_SALES S
ON S.BOOK_ID = B.BOOK_ID
-- 판매일이 2022년 1월인 경우만 조회합니다.
WHERE TO_CHAR(S.SALES_DATE, 'YYYY-MM') = '2022-01'
-- 저자 ID와 카테고리별로 그룹핑하여 각 그룹의 총 매출을 계산합니다.
GROUP BY A.AUTHOR_ID, A.AUTHOR_NAME, B.CATEGORY
-- 저자 ID를 기준으로 오름차순, 카테고리를 기준으로 내림차순으로 정렬합니다.
ORDER BY A.AUTHOR_ID, B.CATEGORY DESC;
728x90
'프로그래머스(Oracle)' 카테고리의 다른 글
[프로그래머스 (Oracle)] 우유와 요거트가 담긴 장바구니 (1) | 2024.10.16 |
---|---|
[프로그래머스 (Oracle)] 헤비 유저가 소유한 장소 (0) | 2024.10.16 |
[프로그래머스 (Oracle)] 조건에 맞는 사용자 정보 조회하기 (0) | 2024.10.06 |
[프로그래머스 (Oracle)] 년, 월, 성별 별 상품 구매 회원 수 구하기 (1) | 2024.10.05 |
[프로그래머스 (Oracle)] 즐겨찾기가 가장 많은 식당 정보 출력하기 (1) | 2024.10.05 |