IT/SQL

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

무지개는 환상 2024. 1. 18. 16:43

<PRODUCT> 테이블 구조

PRODUCT 테이블

 

<문제>

 

 

 

<문제 풀이>

SELECT FLOOR(PRICE/10000) * 10000 AS PRICE_GROUP,
    count(*) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP;

 

PRICE_GROUP 절을 만들어 내는것이 주요한 문제이다.

floor함수를 이용 후 (소수 부분 없애주는 함수) *10,000 하여 각 가격별 그룹을 만들어 주었다.

다음 만들어낸 PRICE_GROUP 을 이용하영 그룹화 하여 행들을 묶어 주었다.

 

* floor 함수 : 소수 첫째 자리에서 내려주는 함수 (내림)  ex. floor(456.8) = 456

  round (함수) : 소수 n-1번째 자리에서 반올림 해주는 함수 (반올림)   ex. round(193.25 , 1) = 193.3

  ceil 함수 : 소수 첫째 짜리에서 올려주는 함수 (올림)  ex. ceil(204.2) = 205

 

출처 : 프로그래머스 - 가격대 별 상품 개수 구하기