728x90
문제
정답
SELECT CASE WHEN PRICE >= 80000 THEN 80000
WHEN PRICE >= 70000 THEN 70000
WHEN PRICE >= 60000 THEN 60000
WHEN PRICE >= 50000 THEN 50000
WHEN PRICE >= 40000 THEN 40000
WHEN PRICE >= 30000 THEN 30000
WHEN PRICE >= 20000 THEN 20000
WHEN PRICE >= 10000 THEN 10000
WHEN PRICE >= 0 THEN 0 END PRICE_GROUP,
COUNT(PRODUCT_ID) PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
첫번째 방법입니다. CASE를 이용하여 금액별로 나눠주는 방법으로 풀 수 있습니다. 하지만 금액의 범위가 늘어나면 이 방법은 효율적인 방법이 아님으로 다음 방법을 추천합니다.
SELECT 10000 * (PRICE DIV 10000) AS PRICE_GROUP, COUNT(1) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
DIV함수는 나누었을때 몫을 구하는 함수입니다. 따라서 만원 단위만 필요함으로 나눈뒤 다시 10000을 곱하면 만원 단위만 남습니다. 이 방법으로 문제를 풀었습니다.
728x90
'프로그래머스 코딩테스트 > MySQL' 카테고리의 다른 글
[프로그래머스] 대여 기록이 존재하는 자동차 리스트 구하기 MySQL (0) | 2024.07.06 |
---|---|
[프로그래머스] 3월에 태어난 여성 회원 목록 출력하기 MySQL (0) | 2024.07.06 |
[프로그래머스] 조건에 맞는 사용자와 총 거래금액 조회하기 MySQL (0) | 2024.07.06 |
[프로그래머스] 평균 일일 대여 요금 구하기 MySQL (0) | 2024.07.06 |
[프로그래머스] 조건에 맞는 도서 리스트 출력하기 MySQL (0) | 2024.07.06 |