프로그래머스 SQL 고득점키트 - GROUP BY: 가격대 별 상품 개수 구하기(틀림)

르네·2023년 9월 14일
0

SQL

목록 보기
8/63

문제

풀이

내가 푼 틀린 풀이

SELECT CASE
            WHEN PRICE > 0 AND PRICE < 10000 THEN 0
            WHEN PRICE > 10000 AND PRICE < 20000 THEN 10000
            WHEN PRICE > 20000 AND PRICE < 30000 THEN 20000
            WHEN PRICE > 30000 AND PRICE < 40000 THEN 30000
            ELSE NULL
            END AS PRICE_GROUP
          , COUNT(*) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP

: PRICE_GROUP에서 0이 안 나옴.

다른사람 풀이

SELECT (CASE
             WHEN PRICE < 10000 THEN 0
             ELSE TRUNCATE(PRICE, -4)
        END) AS PRICE_GROUP, COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ODER BY PRICE_GROUP

배운점

  • TRUNCATE() 함수는 실수를 버림 처리(소수점 이하 자릿수를 삭제) 하는 함수

ex)
TRUNCATE(12.345, 1)은 12.3을 반환합니다.
TRUNCATE(12.345, 2)은 12.34를 반환합니다.
TRUNCATE(12.345, 0)은 12을 반환합니다.
TRUNCATE(12345, -2)은 12300을 반환합니다. (소수점 왼쪽 2자리를 버립니다)

profile
데이터분석 공부로그

0개의 댓글