728x90
문제
2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요.
Pseudo Code
1. 판매일이 2022년 1월인 BOOK_SALES 데이터 추출
2. BOOK, AUTHOR, 1번 테이블을 조인
3. 저자별 카테고리별 데이터 필요하므로 AUTHOR_ID, AUTHOR_NAME, CATEGORY로 그룹바이
4. 카테고리별 매출액은 집계함수 SUM 사용해서 판매량*판매가 계산
5. AUTHOR_ID ASC, CATEGORY DESC
내 답안
SELECT
T1.AUTHOR_ID,
T2.AUTHOR_NAME,
T1.CATEGORY,
SUM(T3.SALES*T1.PRICE) AS TOTAL_SALES
FROM BOOK T1
INNER JOIN AUTHOR T2
ON T1.AUTHOR_ID = T2.AUTHOR_ID
INNER JOIN (
SELECT * FROM BOOK_SALES WHERE TO_CHAR(SALES_DATE, 'YYYYMM') = '202201'
) T3
ON T1.BOOK_ID = T3.BOOK_ID
GROUP BY T1.AUTHOR_ID,T2.AUTHOR_NAME, T1.CATEGORY
ORDER BY T1.AUTHOR_ID, T1.CATEGORY DESC
728x90
반응형
'SQL > ORACLE.' 카테고리의 다른 글
[Oracle] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2023.04.22 |
---|---|
[Oracle] 자동차 대여 기록 별 대여 금액 구하기 (0) | 2023.04.16 |
[Oracle] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2023.04.01 |
[Oracle] 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2023.03.29 |
[Oracle] 조건에 맞는 사용자 정보 조회하기 (0) | 2023.03.15 |