on my way
[프로그래머스 코딩테스트 연습 SQL - 11] 카테고리 별 도서 판매량 집계하기 (MySQL) 본문
반응형
SELECT B.CATEGORY, SUM(S.SALES) TOTAL_SALES
FROM BOOK B
JOIN BOOK_SALES S
ON B.BOOK_ID = S.BOOK_ID
WHERE SALES_DATE LIKE '2022-01%'
GROUP BY B.CATEGORY
ORDER BY B.CATEGORY
1월이 있는걸 못 읽음
문제 풀이
- GROUP BY B.CATEGORY는 동일한 CATEGORY 값을 가진 행들을 하나의 그룹으로 묶습니다.
- SUM(S.SALES)는 각 그룹의 SALES 값을 모두 합산합니다. 이때 SALES는 BOOK_SALES 테이블에서 가져온 값입니다.
- 따라서, SUM(S.SALES)는 각 카테고리별 총 판매량을 계산합니다.
예시
- 조인된 데이터 (WHERE 조건 적용 후):
BOOK_ID | CATEGORY | SALES
1 | 인문 | 2
2 | 경제 | 3
1 | 인문 | 1
2 | 경제 | 5
2 | 경제 | 6
3 | 경제 | 2
BOOK_ID | CATEGORY | SALES
1 | 인문 | 2
2 | 경제 | 3
1 | 인문 | 1
2 | 경제 | 5
2 | 경제 | 6
3 | 경제 | 2
2. GROUP BY CATEGORY:
- 인문 그룹:
- SALES: 2 + 1 = 3
- 경제 그룹:
- SALES: 3 + 5 + 6 + 2 = 16
3. 최종 결과:
반응형
'algorithm > SQL' 카테고리의 다른 글
[프로그래머스 코딩테스트 연습 SQL - 13] 노선별 평균 역 사이 거리 조회하기 (MySQL) (0) | 2024.08.04 |
---|---|
[프로그래머스 코딩테스트 연습 SQL - 12] 조건별로 분류하여 주문상태 출력하기 (MySQL) (0) | 2024.07.16 |
[프로그래머스 코딩테스트 연습 SQL - 10] 상위 n개 레코드 (MySQL) (0) | 2024.02.23 |
[프로그래머스 코딩테스트 연습 SQL - 09] 역순 정렬하기 (MySQL) (0) | 2024.02.23 |
[프로그래머스 코딩테스트 연습 SQL - 08] 동물의 아이디어와 이름 (MySQL) (0) | 2024.02.23 |