🧠 DataBase
[mySQL] 카테고리 별 도서 판매량 집계하기
Arendt
2024. 10. 11. 13:22
문제
- Table1 : BOOK
- Column
BOOK_ID : 도서 ID
CATEGORY : 카테고리 (경제, 인문, 소설, 생활, 기술)
AUTHOR_ID : 저자 ID
PRICE : 판매가 (원)
PUBLISHED_DATE : 출판일 - Table2 : BOOK_SALES
- Column
BOOK_ID : 도서 ID
SALES_DATE : 판매일
SALES : 판매량 - 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 카테고리명을 기준으로 오름차순 정렬해주세요.
문제 분석
(BOOK 테이블과 BOOK_SALES 테이블을 가지고) => FROM, JOIN, ON
- 두 테이블 book(A)과 book_sales(B)를 JOIN을 통해 결합
- ON A.book_id = B.book_id는 두 테이블을 book_id 컬럼을 기준으로 연결. book_id는 책을 고유하게 식별하는 기본 키
2022년 1월의 => WHERE DATE_FORMAT( , ) = ""
카테고리 별 => GROUP BY
도서 판매량을 합산하고, => SUM()
카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트 => AS
를 출력하는 SQL문을 작성해주세요.
결과는 카테고리명을 기준으로 오름차순 정렬해주세요. => ORDER BY
풀이
SELECT CATEGORY, SUM(B.SALES) AS TOTAL_SALES
FROM BOOK AS A JOIN BOOK_SALES AS B ON A.BOOK_ID = B.BOOK_ID
WHERE A.PUBLISHED_DATE LIKE "2022-01%"
// WHERE DATE_FORMAT(B.sales_date, '%Y-%m') = '2022-01'
GROUP BY A.CATEGORY
ORDER BY A.CATEGORY ASC