https://school.programmers.co.kr/learn/courses/30/lessons/144856
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요.
결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요.
SELECT A.AUTHOR_ID, A.AUTHOR_NAME, B.CATEGORY, SUM(S.SALES * B.PRICE) AS TOTAL_SALES
FROM AUTHOR AS A
JOIN BOOK AS B ON A.AUTHOR_ID = B.AUTHOR_ID
JOIN BOOK_SALES AS S ON B.BOOK_ID = S.BOOK_ID
WHERE DATE_FORMAT(S.SALES_DATE, '%Y-%m') = '2022-01'
GROUP BY A.AUTHOR_ID, B.CATEGORY
ORDER BY A.AUTHOR_ID ASC, B.CATEGORY DESC;
- 저자(AUTHOR) 테이블과 도서(BOOK) 테이블 조인
- 도서 판매 정보(BOOK_SALES) 테이블 조인
- 2022-01 조건 추가
- GROUP BY 를 통해 저자(AUTHOR.AUTHOR_ID)별, 카테고리(BOOK.CATEGORY) 별로 집계
- ORDER BY 를 통해 저자ID를 기준으로 오름차순, 저자ID가 같다면 카테고리를 기준으로 내림차순 정렬
'SQL' 카테고리의 다른 글
[MYSQL] 프로그래머스(LEVEL 4) - 우유와 요거트가 담긴 장바구니 (0) | 2025.02.20 |
---|---|
[MYSQL] 프로그래머스(LEVEL 2) - 분기별 분화된 대장균의 개체 수 구하기 (0) | 2025.02.19 |
[MYSQL] 프로그래머스(LEVEL 3) - 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2025.02.16 |
[MYSQL] 프로그래머스(LEVEL 2) - 노선별 평균 역 사이 거리 조회하기 (0) | 2025.02.15 |
[MYSQL] 프로그래머스(LEVEL 2) - 자동차 평균 대여 기간 구하기 (0) | 2025.02.14 |