inblog logo
|
An's Blog
    코딩테스트SQL

    [코딩테스트] 31. 카테고리 별 도서 판매량 집계하기

    윤설안's avatar
    윤설안
    Apr 16, 2025
    [코딩테스트] 31. 카테고리 별 도서 판매량 집계하기
    Contents
    테이블 index문제예시풀이

    테이블 index

    📌

    BOOK 

    Column name
    Type
    Nullable
    Description
    BOOK_ID
    INTEGER
    FALSE
    도서 ID
    CATEGORY
    VARCHAR(N)
    FALSE
    카테고리 (경제, 인문, 소설, 생활, 기술)
    AUTHOR_ID
    INTEGER
    FALSE
    저자 ID
    PRICE
    INTEGER
    FALSE
    판매가 (원)
    PUBLISHED_DATE
    DATE
    FALSE
    출판일
    BOOK_SALES 
    Column name
    Type
    Nullable
    Description
    BOOK_ID
    INTEGER
    FALSE
    도서 ID
    SALES_DATE
    DATE
    FALSE
    판매일
    SALES
    INTEGER
    FALSE
    판매량

    문제

    💡
    2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리CATEGORY , 총 판매량TOTAL_SALES 리스트를 출력하는 SQL문을 작성해주세요.
    결과는 카테고리명을 기준으로 오름차순 정렬해주세요.

    예시

    notion image

    풀이

    ❗
    1월에 팔린 book만 보고 싶기 때문에 where절에 month를 이용하여 1월 만 출력
    SELECT * from BOOK_SALES where month(sales_date) = 1
    카테고리 별 판매량이 궁금하기 때문에 판매 정보BOOK_SALES 과 도서 정보BOOK 를 같은 컬럼인 book_id로 JOIN
    SELECT * from BOOK_SALES st inner join book bt ON st.BOOK_ID = bt.BOOK_ID where month(sales_date) = 1
    카테고리 별 이기 때문에 카테고리를 group by
    SELECT * from BOOK_SALES st inner join book bt ON st.BOOK_ID = bt.BOOK_ID where month(sales_date) = 1 group by bt.CATEGORY
    이후 필요한 컬럼, 총 판매량이 필요하기 때문에 group by를 사용하였기에 sales을 sum을 이용하여 결과 출력
    SELECT bt.CATEGORY, sum(sales) TOTAL_SALES from BOOK_SALES st inner join book bt ON st.BOOK_ID = bt.BOOK_ID where month(sales_date) = 1 group by bt.CATEGORY order by bt.CATEGORY
    notion image
     
    Share article
    Contents
    테이블 index문제예시풀이

    An's Blog

    RSS·Powered by Inblog