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가 같다면 카테고리를 내림차순 정렬해주세요.
🎯정답
WITH BOOK_INFO AS
(
SELECT B.BOOK_ID, B.CATEGORY, B.AUTHOR_ID, B.PRICE, A.AUTHOR_NAME
FROM BOOK B JOIN AUTHOR A ON B.AUTHOR_ID = A.AUTHOR_ID
)
SELECT I.AUTHOR_ID, I.AUTHOR_NAME, I.CATEGORY, SUM(I.PRICE * S.SALES) AS TOTAL_SALES
FROM BOOK_INFO I RIGHT JOIN BOOK_SALES S ON I.BOOK_ID = S.BOOK_ID
WHERE S.SALES_DATE LIKE "2022-01-%"
GROUP BY CATEGORY, AUTHOR_NAME
ORDER BY AUTHOR_ID ASC, CATEGORY DESC;
❓풀이
- WITH 문으로 책 정보와, 저자 정보 테이블을 결합시켜서 BOOK_INFO 테이블을 생성
- 일자별 판매량 테이블과 BOOK_INFO 테이블을 결합해서 조건에 맞게 설정 후 필터링
'프로그래밍 언어 > 02. SQL' 카테고리의 다른 글
| [SQL] 프로그래머스 LV.4 서울에 위치한 식당 목록 출력하기 (1) | 2025.08.18 |
|---|---|
| [SQL] 프로그래머스 LV.3 년, 월, 성별 별 상품 구매 회원 수 구하기 (2) | 2025.08.17 |
| [SQL] 프로그래머스 LV.4 취소되지 않은 진료 예약 조회하기 (3) | 2025.08.14 |
| [SQL] 프로그래머스 LV.4 5월 식품들의 총매출 조회하기 (1) | 2025.08.14 |
| [SQL] 프로그래머스 LV.4 식품분류별 가장 비싼 식품의 정보 조회하기 (3) | 2025.08.14 |
