📊 Algorithm&SQL

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

오늘 ONEUL 2023. 4. 24. 23:36

 

문제

 

 

 

풀이

(1) 문제 분석하기

  • 만원 단위의 가격대별로 집계, 각 구간의 최소 금액으로 표시 ⇒ TRUNCATE 이용해서 만원 단위로 바꿔주고, GROUP BY 적용
  • 가격대 별 상품 개수 출력 ⇒ COUNT(PRODUCT_ID)
  • 가격대 기준 오름차순 정렬 ⇒ ORDER BY 가격대 ASC

 

TRUNCATE

  • TRUNCATE(number, decimals) - number를 지정된 소수 자릿수 아래로 버림
  • 소수 자릿수에 -4를 넣어 만원 단위로 변경
SELECT TRUNCATE(12345, -1)
-- 12340

SELECT TRUNCATE(12345, -2)
-- 12300

SELECT TRUNCATE(12345, -3)
-- 12000

SELECT TRUNCATE(12345, -4)
-- 10000

 

 

[MySQL] MySQL 숫자, 집계 함수 총정리

Numeric Functions 숫자 관련 함수 CEIL(number) - number보다 크거나 같은 수 중에서 가장 작은 정수 반환 FLOOR(number) - number보다 작거나 같은 수 중에서 가장 큰 정수 반환 ROUND(number, decimals) - number를 지정된

oneul-losnue.tistory.com

 

 

(2) 쿼리 구현하기

SELECT TRUNCATE(PRICE, -4) AS 'PRICE_GROUP',
COUNT(PRODUCT_ID) AS 'PRODUCTS'
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP ASC

 

 

 

 

 

프로그래머스

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

programmers.co.kr