happy coding
[programmers] 가격대 별 상품 개수 구하기 본문
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
ORDER BY PRICE_GROUP;
아래는 지피티에게 물어본 결과.
- TRUNCATE 함수는 MySQL에서는 실수 형태의 데이터를 다룰 때 소수점 이하 자릿수를 제한하여 표시하는 함수입니다. TRUNCATE(PRICE, -4)에서 -4는 소수점 이하 네 자릿수까지 표시하도록 하는 것을 의미하지만, PRICE가 숫자 형태인지, 어떤 타입인지에 대한 정보가 없습니다.
- CASE 문에서 두 번째 조건에 ELSE 절이 없어서 해당 조건을 만족하지 않을 때 어떤 값을 반환해야 하는지 지정되어 있지 않습니다.
- 가격 그룹을 생성할 때 CASE 문 안에서 TRUNCATE 함수를 사용하는 것은 일반적으로 사용되는 방법이 아닙니다.
SELECT (
CASE
WHEN PRICE < 10000 THEN '0 - 9999'
WHEN PRICE >= 10000 AND PRICE < 20000 THEN '10000 - 19999'
WHEN PRICE >= 20000 AND PRICE < 30000 THEN '20000 - 29999'
ELSE '30000 이상'
END) AS PRICE_GROUP,
COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP;
'self study > Database' 카테고리의 다른 글
[programmers] 자동차 평균 대여 기간 구하기 (0) | 2023.08.15 |
---|---|
[programmers] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2023.08.14 |
[programmers] 성분으로 구분한 아이스크림 총 주문량 (0) | 2023.08.14 |
[programmers] 루시와 엘라 찾기 (0) | 2023.08.14 |
[programmers] 조건에 맞는 도서와 저자 리스트 출력하기 (0) | 2023.08.13 |
Comments