프로그래머스 SQL 고득점 Kit
LV3. 카테고리 별 도서 판매량 집계하기
문제
2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 카테고리명을 기준으로 오름차순 정렬해주세요.
풀이언어 MYSQL
SELECT B.CATEGORY
, SUM(SALES) AS TOTAL_SALES
FROM BOOK B
, BOOK_SALES BS
WHERE B.BOOK_ID = BS.BOOK_ID
AND BS.SALES_DATE BETWEEN '2022-01-01' AND '2022-01-31'
GROUP BY B.CATEGORY
ORDER BY B.CATEGORY ASC
풀이
- 카테고리별 판매량을 구하는 것인데, 조건은 1월 판매량이기 때문에, SALES_DATE는 2022-01-01 ~ 2022-01-31을 조건으로 지정.
- BOOK_SALES 테이블은 BOOK_ID별 판매량을 가지고 있고 BOOK 테이블은 BOOK_ID의 카테고리를 가지고 있음.
- BOOK의 BOOK_ID와 BOOK_SALES의 BOOK_ID를 JOIN 조건으로 지정.
- 카테고리별 판매량의 합산이기 때문에 GROUP BY 절에는 CATEGORY, SALES는 책별 판매량이기 때문에 판매량을 합쳐주어야함.
- SUM(SALES) 판매량을 합산하여 출력함.
출처
https://school.programmers.co.kr/learn/courses/30/lessons/144855
'Develop > Programmers' 카테고리의 다른 글
[프로그래머스] (SQL) 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.01.20 |
---|---|
[프로그래머스] (SQL) 오프라인/온라인 판매 데이터 통합하기 (0) | 2022.12.10 |
[프로그래머스] (JAVA) LV1 자리수 더하기 (0) | 2022.11.18 |
[프로그래머스] (JAVA) LV1. 짝수와 홀수 (0) | 2022.11.16 |
[프로그래머스] (JAVA) LV1. 같은 숫자는 싫어 (0) | 2022.08.17 |