현재
[level 2] 가격대 별 상품 개수 구하기 - 131530 + trunc, ceil 본문
[level 2] 가격대 별 상품 개수 구하기 - 131530 + trunc, ceil
AAAge 2023. 11. 25. 19:14# [level 2] 가격대 별 상품 개수 구하기 - 131530 [문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/131530) ### 성능 요약 메모리: 0.0 MB, 시간: 0.00 ms ### 구분 코딩테스트 연습 > GROUP BY ### 채점결과 Empty ### 제출 일자 2023년 11월 6일 19:9:54 ### 문제 설명
다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.
| Column name | Type | Nullable |
|---|---|---|
| PRODUCT_ID | INTEGER | FALSE |
| PRODUCT_CODE | VARCHAR(8) | FALSE |
| PRICE | INTEGER | FALSE |
상품 별로 중복되지 않는 8자리 상품코드 값을 가지며 앞 2자리는 카테고리 코드를 나타냅니다.
문제
PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요.
예시
예를 들어 PRODUCT 테이블이 다음과 같다면
| PRODUCT_ID | PRODUCT_CODE | PRICE |
|---|---|---|
| 1 | A1000011 | 10000 |
| 2 | A1000045 | 9000 |
| 3 | C3000002 | 22000 |
| 4 | C3000006 | 15000 |
| 5 | C3000010 | 30000 |
| 6 | K1000023 | 17000 |
만원 단위의 가격대 별로 상품을 나누면
- 가격대가 0원 ~ 1만원 미만인 상품은
PRODUCT_ID가 2인 상품 1개, - 가격대가 1만원 이상 ~ 2만원 미만인 상품들은
PRODUCT_ID가 1, 4, 6인 상품 3개, - 가격대가 2만원 이상 ~ 3만원 미만인 상품은
PRODUCT_ID가 3인 상품 1개, - 가격대가 3만원 이상 ~ 4만원 미만인 상품은
PRODUCT_ID가 5인 상품 1개,
에 각각 해당하므로 다음과 같이 결과가 나와야 합니다.
| PRICE_GROUP | PRODUCTS |
|---|---|
| 0 | 1 |
| 10000 | 3 |
| 20000 | 1 |
| 30000 | 1 |
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
<풀이 코드>
trunc를 써서 내림을 하고 ceil을 써서 올림을 한다.
SELECT trunc(price,-4) as price_group, count(*) as products
from product
group by trunc(price,-4)
order by trunc(price,-4) asc
;
'DataBase > 프로그래머스SQL문제(oracle)' 카테고리의 다른 글
| [level 4] 주문량이 많은 아이스크림들 조회하기 - 133027 (1) | 2023.11.28 |
|---|---|
| [level 3] 없어진 기록 찾기 - 59042 (left join) (0) | 2023.11.27 |
| [level 2] 입양 시각 구하기(1) - 59412 (1) | 2023.11.25 |
| [level 2] 동명 동물 수 찾기 - 59041 (1) | 2023.11.25 |
| [level 2] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 - 151137 + like (0) | 2023.11.24 |