SQL/GROUP BY

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

이런개발 2025. 3. 24. 09:17

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

 

프로그래머스

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

programmers.co.kr

문제 풀이

  1. 1만 원 미만대, 1만 원대, 2만 원대, 3만 원대... 이렇게 만원 단위로 구분하는 것이 중요하다.
  2. 일단 가격을 1만으로 나눈 몫으로 몇만 원대인지 알 수 있다. 이때 소수점이 나올 경우 소수점 이하는 별 의미가 없으므로 FLOOR 키워드로 소수점을 버린다. 그리고 몫의 1만을 곱하면 각 구간의 최소금액으로 표시할 수 있다.
  3. 이렇게 구한 각 구간의 최소금액으로 그룹핑한다.
  4. 각 구간의 최소금액과 COUNT 키워드로 그룹핑된 행의 개수를 조회한다.
  5. 가격대를 기준으로 오름차순 정렬한다.
SELECT 
    FLOOR((PRICE / 10000)) * 10000 AS PRICE_GROUP,
    COUNT(*) AS PRODUCTS
FROM 
    PRODUCT
GROUP BY
    1
ORDER BY
    1