본문 바로가기
SQL

가격대 별 상품 개수 구하기 GROUP BY

by hoshi03 2024. 12. 17.

https://school.programmers.co.kr/learn/courses/30/lessons/131530

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

• 풀이

 

처음에는 CASE 구문으로 풀어보려고 했다가 실패..하고 풀이를 찾아보니 나눗셈을 이용해서 푸는 방법이 있었다

 

만원 단위로 그룹을 짓는걸 나눗셈과 FLOOR 메서드를 이용해서 만 단위로 해서 처리하고

다시 * 10000을 해서 만원 단위로 깔끔하게 나오게 끊는 쿼리

 

SELECT PRICE, FLOOR(PRICE/10000) FROM PRODUCT

위 처럼 만의자리 숫자만 남게 나와서 해당 숫자를 기준으로 그룹바이를 하면 1만원대.. 2만원대.. 이렇게 그룹바이가 된다

 

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