Land of Joe

[mySQL] 카테고리 별 도서 판매량 집계하기 본문

🧠 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