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