본문 바로가기
프로그래머스/[프로그래머스 - ORACLE] Lv.4

[프로그래머스 - ORACLE] 저자 별 카테고리 별 매출액 집계하기

by 코딩하는 흰둥이 2023. 3. 24.
반응형


CREATE 문
CREATE TABLE BOOK (
BOOK_ID					NUMBER 			NOT NULL,
CATEGORY				VARCHAR(10)		NOT NULL,
AUTHOR_ID				NUMBER			NOT NULL,
PRICE					NUMBER			NOT NULL,
PUBLISHED_DATE				DATE			NOT NULL
);


CREATE TABLE AUTHOR(
AUTHOR_ID				NUMBER			NOT NULL,
AUTHOR_NAME				VARCHAR(20)		NOT NULL
);



CREATE TABLE BOOK_SALES (
BOOK_ID					NUMBER			NOT NULL,
SALES_DATE				DATE			NOT NULL,
SALES					NUMBER			NOT NULL
);

  • 내 풀이
SELECT
    A.AUTHOR_ID,
    A.AUTHOR_NAME,
    B.CATEGORY,
    SUM(S.SALES * B.PRICE) AS TOTAL_SALES
FROM BOOK B INNER JOIN AUTHOR A
    ON B.AUTHOR_ID = A.AUTHOR_ID
    INNER JOIN BOOK_SALES S
    ON B.BOOK_ID = S.BOOK_ID
WHERE TO_CHAR(S.SALES_DATE, 'YYYYMM') = 202201
GROUP BY A.AUTHOR_ID, A.AUTHOR_NAME, B.CATEGORY
ORDER BY A.AUTHOR_ID ASC , B.CATEGORY DESC

GROUP BY가 문제가 없는 거 같은데 제대로 합쳐지지 않는다면 순서가 문제일 가능성이 크다

댓글