Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 449451e

Browse files
committed
[level 3] Title: 카테고리 별 도서 판매량 집계하기, Time: 0.00 ms, Memory: 0.0 MB -BaekjoonHub
1 parent 4ca68ec commit 449451e

File tree

2 files changed

+220
-0
lines changed

2 files changed

+220
-0
lines changed
Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
# [level 3] 카테고리 별 도서 판매량 집계하기 - 144855
2+
3+
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/144855)
4+
5+
### 성능 요약
6+
7+
메모리: 0.0 MB, 시간: 0.00 ms
8+
9+
### 구분
10+
11+
코딩테스트 연습 > GROUP BY
12+
13+
### 채점결과
14+
15+
Empty
16+
17+
### 제출 일자
18+
19+
2024년 05월 22일 22:32:16
20+
21+
### 문제 설명
22+
23+
<p>다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(<code>BOOK</code>), 판매 정보(<code>BOOK_SALES</code>) 테이블입니다.</p>
24+
25+
<p><code>BOOK</code> 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.</p>
26+
<table class="table">
27+
<thead><tr>
28+
<th>Column name</th>
29+
<th>Type</th>
30+
<th>Nullable</th>
31+
<th>Description</th>
32+
</tr>
33+
</thead>
34+
<tbody><tr>
35+
<td>BOOK_ID</td>
36+
<td>INTEGER</td>
37+
<td>FALSE</td>
38+
<td>도서 ID</td>
39+
</tr>
40+
<tr>
41+
<td>CATEGORY</td>
42+
<td>VARCHAR(N)</td>
43+
<td>FALSE</td>
44+
<td>카테고리 (경제, 인문, 소설, 생활, 기술)</td>
45+
</tr>
46+
<tr>
47+
<td>AUTHOR_ID</td>
48+
<td>INTEGER</td>
49+
<td>FALSE</td>
50+
<td>저자 ID</td>
51+
</tr>
52+
<tr>
53+
<td>PRICE</td>
54+
<td>INTEGER</td>
55+
<td>FALSE</td>
56+
<td>판매가 (원)</td>
57+
</tr>
58+
<tr>
59+
<td>PUBLISHED_DATE</td>
60+
<td>DATE</td>
61+
<td>FALSE</td>
62+
<td>출판일</td>
63+
</tr>
64+
</tbody>
65+
</table>
66+
<p><code>BOOK_SALES</code> 테이블은 각 도서의 날짜 별 판매량 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.</p>
67+
<table class="table">
68+
<thead><tr>
69+
<th>Column name</th>
70+
<th>Type</th>
71+
<th>Nullable</th>
72+
<th>Description</th>
73+
</tr>
74+
</thead>
75+
<tbody><tr>
76+
<td>BOOK_ID</td>
77+
<td>INTEGER</td>
78+
<td>FALSE</td>
79+
<td>도서 ID</td>
80+
</tr>
81+
<tr>
82+
<td>SALES_DATE</td>
83+
<td>DATE</td>
84+
<td>FALSE</td>
85+
<td>판매일</td>
86+
</tr>
87+
<tr>
88+
<td>SALES</td>
89+
<td>INTEGER</td>
90+
<td>FALSE</td>
91+
<td>판매량</td>
92+
</tr>
93+
</tbody>
94+
</table>
95+
<hr>
96+
97+
<h5>문제</h5>
98+
99+
<p><code>2022년 1월</code>의 카테고리 별 도서 판매량을 합산하고, 카테고리(<code>CATEGORY</code>), 총 판매량(<code>TOTAL_SALES</code>) 리스트를 출력하는 SQL문을 작성해주세요. <br>
100+
결과는 카테고리명을 기준으로 오름차순 정렬해주세요.</p>
101+
102+
<hr>
103+
104+
<h5>예시</h5>
105+
106+
<p>예를 들어 <code>BOOK</code> 테이블과 <code>BOOK_SALES</code> 테이블이 다음과 같다면</p>
107+
<table class="table">
108+
<thead><tr>
109+
<th>BOOK_ID</th>
110+
<th>CATEGORY</th>
111+
<th>AUTHOR_ID</th>
112+
<th>PRICE</th>
113+
<th>PUBLISHED_DATE</th>
114+
</tr>
115+
</thead>
116+
<tbody><tr>
117+
<td>1</td>
118+
<td>인문</td>
119+
<td>1</td>
120+
<td>10000</td>
121+
<td>2020-01-01</td>
122+
</tr>
123+
<tr>
124+
<td>2</td>
125+
<td>경제</td>
126+
<td>1</td>
127+
<td>9000</td>
128+
<td>2021-02-05</td>
129+
</tr>
130+
<tr>
131+
<td>3</td>
132+
<td>경제</td>
133+
<td>2</td>
134+
<td>9000</td>
135+
<td>2021-03-11</td>
136+
</tr>
137+
</tbody>
138+
</table><table class="table">
139+
<thead><tr>
140+
<th>BOOK_ID</th>
141+
<th>SALES_DATE</th>
142+
<th>SALES</th>
143+
</tr>
144+
</thead>
145+
<tbody><tr>
146+
<td>1</td>
147+
<td>2022-01-01</td>
148+
<td>2</td>
149+
</tr>
150+
<tr>
151+
<td>2</td>
152+
<td>2022-01-02</td>
153+
<td>3</td>
154+
</tr>
155+
<tr>
156+
<td>1</td>
157+
<td>2022-01-05</td>
158+
<td>1</td>
159+
</tr>
160+
<tr>
161+
<td>2</td>
162+
<td>2022-01-20</td>
163+
<td>5</td>
164+
</tr>
165+
<tr>
166+
<td>2</td>
167+
<td>2022-01-21</td>
168+
<td>6</td>
169+
</tr>
170+
<tr>
171+
<td>3</td>
172+
<td>2022-01-22</td>
173+
<td>2</td>
174+
</tr>
175+
<tr>
176+
<td>2</td>
177+
<td>2022-02-11</td>
178+
<td>3</td>
179+
</tr>
180+
</tbody>
181+
</table>
182+
<p>2022년 1월의 도서 별 총 판매량은 도서 ID 가 1 인 도서가 총 3권, 도서 ID 가 2 인 도서가 총 14권 이고, 도서 ID 가 3 인 도서가 총 2권 입니다.</p>
183+
184+
<p>카테고리 별로 판매량을 집계한 결과는 다음과 같습니다.</p>
185+
<table class="table">
186+
<thead><tr>
187+
<th>CATEGORY</th>
188+
<th>TOTAL_SALES</th>
189+
</tr>
190+
</thead>
191+
<tbody><tr>
192+
<td>인문</td>
193+
<td>3</td>
194+
</tr>
195+
<tr>
196+
<td>경제</td>
197+
<td>16</td>
198+
</tr>
199+
</tbody>
200+
</table>
201+
<p>카테고리명을 오름차순으로 정렬하면 다음과 같이 나와야 합니다.</p>
202+
<table class="table">
203+
<thead><tr>
204+
<th>CATEGORY</th>
205+
<th>TOTAL_SALES</th>
206+
</tr>
207+
</thead>
208+
<tbody><tr>
209+
<td>경제</td>
210+
<td>16</td>
211+
</tr>
212+
<tr>
213+
<td>인문</td>
214+
<td>3</td>
215+
</tr>
216+
</tbody>
217+
</table>
218+
219+
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SELECT CATEGORY, SUM(SALES) as TOTAL_SALES FROM BOOK as b INNER JOIN BOOK_SALES as bs ON b.BOOK_ID=bs.BOOK_ID WHERE year(SALES_DATE)=2022 AND month(SALES_DATE)=1 GROUP BY CATEGORY ORDER BY CATEGORY ASC;

0 commit comments

Comments
 (0)