Home

저자 별 카테고리 별 매출액 집계하기

Link

Tables

erDiagram
	BOOK {
		BOOK_ID INTEGER PK
		CATEGORY VARCHAR
		AUTHOR_ID INTEGER FK
		PRICE INTEGER
		PUBLISHED_DATE DATE
	}
	AUTHOR {
		AUTHOR_ID INTEGER PK
		AUTHOR_NAME VARCHAR
	}
	BOOK_SALES {
		BOOK_ID INTEGER FK
		SALES_DATE DATE "PK(with BOOK_ID)"
		SALES INTEGER
	}
	BOOK ||--|| AUTHOR : Author_info
	BOOK ||--o{ BOOK_SALES : Book_Sales
Mermaid
복사

Question

2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요.

DataFlow

2022년 1월 filter
저가, 카테고리 agg 매출액

Answer

WITH date_his AS ( SELECT BOOK_ID, SALES FROM BOOK_SALES WHERE DATE_FORMAT(SALES_DATE, "%Y-%m") = "2022-01" ), total_his AS ( SELECT h.*, b.CATEGORY, b.PRICE, a.AUTHOR_ID, a.AUTHOR_NAME FROM date_his h JOIN BOOK b ON h.BOOK_ID = b.BOOK_ID JOIN AUTHOR a ON b.AUTHOR_ID = a.AUTHOR_ID ), price AS ( SELECT AUTHOR_ID, AUTHOR_NAME, CATEGORY, SUM(PRICE * SALES) AS 'TOTAL_SALES' FROM total_his GROUP BY AUTHOR_ID, AUTHOR_NAME, CATEGORY ORDER BY AUTHOR_ID ASC, CATEGORY DESC ) SELECT * FROM price;
SQL
복사