Skip to content

Commit 4a11179

Browse files
committed
[level 2] Title: 가격대 별 상품 개수 구하기, Time: 0.00 ms, Memory: 0.0 MB -BaekjoonHub
1 parent 4300121 commit 4a11179

File tree

2 files changed

+139
-0
lines changed

2 files changed

+139
-0
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# [level 2] 가격대 별 상품 개수 구하기 - 131530
2+
3+
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/131530#qna)
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+
2025년 07월 02일 17:34:18
20+
21+
### 문제 설명
22+
23+
<p>다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 <code>PRODUCT</code> 테이블입니다. <code>PRODUCT</code> 테이블은 아래와 같은 구조로 되어있으며, <code>PRODUCT_ID</code>, <code>PRODUCT_CODE</code>, <code>PRICE</code>는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.</p>
24+
<table class="table">
25+
<thead><tr>
26+
<th>Column name</th>
27+
<th>Type</th>
28+
<th>Nullable</th>
29+
</tr>
30+
</thead>
31+
<tbody><tr>
32+
<td>PRODUCT_ID</td>
33+
<td>INTEGER</td>
34+
<td>FALSE</td>
35+
</tr>
36+
<tr>
37+
<td>PRODUCT_CODE</td>
38+
<td>VARCHAR(8)</td>
39+
<td>FALSE</td>
40+
</tr>
41+
<tr>
42+
<td>PRICE</td>
43+
<td>INTEGER</td>
44+
<td>FALSE</td>
45+
</tr>
46+
</tbody>
47+
</table>
48+
<p>상품 별로 중복되지 않는 8자리 상품코드 값을 가지며 앞 2자리는 카테고리 코드를 나타냅니다.</p>
49+
50+
<hr>
51+
52+
<h5>문제</h5>
53+
54+
<p><code>PRODUCT</code> 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요.</p>
55+
56+
<hr>
57+
58+
<h5>예시</h5>
59+
60+
<p>예를 들어 <code>PRODUCT</code> 테이블이 다음과 같다면</p>
61+
<table class="table">
62+
<thead><tr>
63+
<th>PRODUCT_ID</th>
64+
<th>PRODUCT_CODE</th>
65+
<th>PRICE</th>
66+
</tr>
67+
</thead>
68+
<tbody><tr>
69+
<td>1</td>
70+
<td>A1000011</td>
71+
<td>10000</td>
72+
</tr>
73+
<tr>
74+
<td>2</td>
75+
<td>A1000045</td>
76+
<td>9000</td>
77+
</tr>
78+
<tr>
79+
<td>3</td>
80+
<td>C3000002</td>
81+
<td>22000</td>
82+
</tr>
83+
<tr>
84+
<td>4</td>
85+
<td>C3000006</td>
86+
<td>15000</td>
87+
</tr>
88+
<tr>
89+
<td>5</td>
90+
<td>C3000010</td>
91+
<td>30000</td>
92+
</tr>
93+
<tr>
94+
<td>6</td>
95+
<td>K1000023</td>
96+
<td>17000</td>
97+
</tr>
98+
</tbody>
99+
</table>
100+
<p>만원 단위의 가격대 별로 상품을 나누면</p>
101+
102+
<ul>
103+
<li>가격대가 0원 ~ 1만원 미만인 상품은 <code>PRODUCT_ID</code> 가 2인 상품 1개,</li>
104+
<li>가격대가 1만원 이상 ~ 2만원 미만인 상품들은 <code>PRODUCT_ID</code> 가 1, 4, 6인 상품 3개,</li>
105+
<li>가격대가 2만원 이상 ~ 3만원 미만인 상품은 <code>PRODUCT_ID</code> 가 3인 상품 1개,</li>
106+
<li>가격대가 3만원 이상 ~ 4만원 미만인 상품은 <code>PRODUCT_ID</code> 가 5인 상품 1개,</li>
107+
</ul>
108+
109+
<p>에 각각 해당하므로 다음과 같이 결과가 나와야 합니다.</p>
110+
<table class="table">
111+
<thead><tr>
112+
<th>PRICE_GROUP</th>
113+
<th>PRODUCTS</th>
114+
</tr>
115+
</thead>
116+
<tbody><tr>
117+
<td>0</td>
118+
<td>1</td>
119+
</tr>
120+
<tr>
121+
<td>10000</td>
122+
<td>3</td>
123+
</tr>
124+
<tr>
125+
<td>20000</td>
126+
<td>1</td>
127+
</tr>
128+
<tr>
129+
<td>30000</td>
130+
<td>1</td>
131+
</tr>
132+
</tbody>
133+
</table>
134+
135+
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
select floor(price / 10000) * 10000 as price_group, count (*) as products
2+
from product
3+
group by price_group
4+
order by price_group asc

0 commit comments

Comments
 (0)