코딩 테스트/SQL

가격대 별 상품 개수 구하기

susinlee 2024. 12. 12. 09:14

[문제]
PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요.


[단계별 풀이]
1. 가격에서 1만으로 나눠줘서 앞자리 수를 구할 수 있다.

2. 소수점 부분은 TRUNCATE 함수로 제거한 뒤 다시 1만을 곱해줘서 가격대를 구한다

3. 해당 구간별로 GROUP BY 한 후 PRODUCT_ID를 COUNT 한다

4. 가격대를 기준으로 오름차순 정렬


[정답]

SELECT TRUNCATE(PRICE / 10000, 0) * 10000 AS PRICE_GROUP,
       COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP