혼자 고민해보기_ 개발/코딩테스트

[SQL] 가격대 별 상품 개수 구하기

nuri-story 2024. 10. 2. 10:22

 

https://school.programmers.co.kr/learn/courses/30/lessons/131530

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

정답 코드

SELECT 
    CASE
        WHEN PRICE < 10000 THEN 0
        ELSE TRUNCATE(PRICE, -4)
        END AS PRICE_GROUP,
        COUNT(PRODUCT_ID) AS PROCUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
;

 

 

해설

1. 10000 (만원) 이하는 0으로 price_group

2. CASE문 사용

CASE
    WHEN 조건1 THEN 결과1
    WHEN 조건2 THEN 결과2
    ...
    ELSE 기본결과
END

3. TRUNCATE ({조건}, -4} 를 통해 뒷자리 내림

예를들어 PRICE가 25,000이면 20,000으로 표시

4. COUNT를 통해 갯수 구함

5. 가격대별에 따른 그룹, 정렬 진행