알고리즘 챌린지/프로그래머스 MySQL 코테
가격대별 상품 구하기
JUN0126
2023. 11. 11. 11:48
처음에 풀은 방식
SELECT
CASE
WHEN price between 0 and 9999
THEN 0
WHEN price between 10000 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
ELSE 0
END
as PRICE_GROUP,
count(1) as PRODUCTS
from product group by PRICE_GROUP
ORDER BY PRICE_GROUP ASC
위와 같이 풀면 금액대의 범위가 더 증가 하였을떄 값을 추가를 해주어야 한다
어떻게 해결할 것인가?
쉬운 해결 방안
SELECT (PRICE-PRICE%10000) AS PRICE_GROUP, COUNT(*) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
PRICE_GROUP 값을 구할 떄 산술을 구해서 넣는다. (PRICE - (PRICE%10000)) AS PRICE_GROUP
https://school.programmers.co.kr/learn/courses/30/lessons/131530
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr