본문 바로가기
IT/SQL

[MySQL] 프로그래머스 GROUP BY 16 가격대별 상품 개수 구하기

by 민트린 2023. 10. 1.
728x90

문제

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


풀이

SELECT CASE
        WHEN PRICE BETWEEN 0 AND 19999 THEN 10000
        WHEN PRICE BETWEEN 20000 AND 29999 THEN 20000
        WHEN PRICE BETWEEN 30000 AND 39999 THEN 30000
        WHEN PRICE BETWEEN 40000 AND 49999 THEN 40000
        WHEN PRICE BETWEEN 50000 AND 59999 THEN 50000
        WHEN PRICE BETWEEN 60000 AND 69999 THEN 60000
        WHEN PRICE BETWEEN 70000 AND 79999 THEN 70000
        WHEN PRICE BETWEEN 80000 AND 89999 THEN 80000
    END AS PRICE_GROUP,
    COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP

 

풀긴 풀었는데 모범 답안은 아닌 것 같다.

처음에 CASE문을 WHERE절 안에 써서 틀려서 Chat GPT의 도움을 받아 고쳤다. CASE문은 SELECT절 안에 써야 한다.

Lv.2 문제지만 Lv.2가 아닌 느낌...

728x90