문제
내가 작성한 정답
MYSQL, ORACLE
SELECT FLOOR(PRICE*0.0001)*10000 PRICE_GROUP, COUNT(PRODUCT_ID) PRODUCTS
FROM PRODUCT
GROUP BY FLOOR(PRICE*0.0001)*10000
ORDER BY PRICE_GROUP ASC;
FLOOR : 소수점 아래자리 내림.
CEILING : 소수점 아래자리 올림.
ROUND(반올림할 컬럼,반올림 후 출력될 소수점 아래 자리수 개수) : 반올림할 자리수 지정하지 않으면 소수점 첫째 자리에서 반올림
다른 사람들이 작성한 정답
SELECT
TRUNCATE(price, -4) price_group,
COUNT(product_id) products
FROM
product
GROUP BY
1
ORDER BY
1;
아래의 방식은 ORACLE에서는 적용되지 않음
TRUNCATE(잘라낼 숫자, 잘라낼 자릿수)
→ TRUNCATE(12345, -2)는 12300으로 반환
GROUP BY 1 → 여기에서 1은 select의 첫번째 항목인 TRUNCATE(price, -4)을 의미한다.
ORDER BY 1 → 도 마찬가지로 select의 첫번째 항목인 TRUNCATE(price,-4)를 의미한다.
Share article