-
[SQL 프로그래머스 GROUP BY] 저자 별 카테고리 별 매출액 집계하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 23. 18:42728x90
저자 별 카테고리 별 매출액 집계하기
2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요.
-- MYSQL
SELECT AB.AUTHOR_ID, C.AUTHOR_NAME, AB.CATEGORY, SUM(SALES*PRICE) AS TOTAL_SALES
FROM (SELECT *
FROM BOOK_SALES AS A
NATURAL JOIN BOOK AS B
WHERE DATE_FORMAT(SALES_DATE, '%m') = '01') AS AB
INNER JOIN AUTHOR AS C
ON AB.AUTHOR_ID = C.AUTHOR_ID
GROUP BY AB.AUTHOR_ID, C.AUTHOR_NAME, AB.CATEGORY
ORDER BY AB.AUTHOR_ID ASC, AB.CATEGORY DESC;728x90
-- ORACLE
SELECT AUTHOR_ID, AUTHOR_NAME, CATEGORY, SUM(SALES*PRICE) AS TOTAL_SALES
FROM (SELECT *
FROM BOOK_SALES A
NATURAL JOIN BOOK B
WHERE TO_CHAR(SALES_DATE, 'MM') = '01')
INNER JOIN AUTHOR
USING (AUTHOR_ID)
GROUP BY AUTHOR_ID, AUTHOR_NAME, CATEGORY
ORDER BY AUTHOR_ID ASC, CATEGORY DESC;728x90'<프로그래머스 고득점 SQL Kit>' 카테고리의 다른 글
[SQL 프로그래머스 GROUP BY] 즐겨찾기가 가장 많은 식당 정보 출력하기(ORACLE, MYSQL) (0) 2023.05.24 [SQL 프로그래머스 GROUP BY] 식품분류별 가장 비싼 식품의 정보 조회하기(ORACLE, MYSQL) (0) 2023.05.24 [SQL 프로그래머스 GROUP BY] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(ORACLE, MYSQL) (1) 2023.05.23 [SQL 프로그래머스 GROUP BY] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(ORACLE, MYSQL) (0) 2023.05.23 [SQL 프로그래머스 SUM, MAX, MIN] 중복 제거하기(ORACLE, MYSQL) (0) 2023.05.23