[프로그래머스_SQL] 가격대 별 상품 개수 구하기
📜문제
https://school.programmers.co.kr/learn/courses/30/lessons/131530
📜정답
SELECT (
CASE
WHEN PRICE < 10000 THEN 0
ELSE TRUNCATE(PRICE,-4)
END) AS PRICE_GROUP,COUNT(PRODUCT_ID)AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
📜노트
- GROUP BY
데이터를 그룹으로 묶어 나눌 때 사용하며, SELECT절과 ORDER BY절 사이에 추가하면 된다.
- TRUNCATE(숫자,소수점 이하 자릿수)
숫자를 버릴 때 사용하는 함수이다.
만약 PRICE가 11111.2345일 때,
TRUNCATE(PRICE,-4) => 10000
TRUNCATE(PRICE,-3) => 11000
TRUNCATE(PRICE,2) => 11111.23
TRUNCATE(PRICE,3) => 11111.234
와 같은 결과를 나타낸다.
즉, 소수점 이하 자릿수가 음수면 정수 버림, 양수면 소수 버림이다.