SELECT
TRUNC(PRICE / 10000) * 10000 AS "PRICE_GROUP",
COUNT(PRICE)
FROM PRODUCT
GROUP BY
TRUNC(PRICE / 10000) * 10000
ORDER BY
PRICE_GROUP
<포인트 정리>
1. 코드 흐름 중요
저기서 GROUP BY PRICE_GROUP을 하면 에러 난다.
애초에 FROM PRODUCT -> GROUP BY -> SELECT 이 순서로 진행되는 듯 하다.
따라서 SELECT에서 정의된 PRICE GROUP을 인식할 수 없는 것.
대신, PRICE_GROUP을 만든 수식 그대로를 GROUP BY에 넣을 수 있다.
2. 구간을 만들 때
TRUNC(PRICE / 10000) * 10000 이런 식으로 하는게 꿀팁.
<추가! CASE 사용>
SELECT
(CASE
WHEN TRUNC(PRICE/10000)>=0 THEN TRUNC(PRICE/10000)10000
END)
AS "PRICEGROUP",
COUNT(PRODUCTID) AS "PRODUCTS"
FROM
PRODUCT
GROUP BY
(CASE
WHEN TRUNC(PRICE/10000)>=0 THEN TRUNC(PRICE/10000)10000
END)
ORDER BY
PRICE_GROUP
'DataEngineering' 카테고리의 다른 글
SQL 프로그래머스 문제 - 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2024.05.14 |
---|---|
SQL 프로그래머스 문제 - 입양 시각 구하기(1)(중요!) (0) | 2024.05.14 |
SQL 프로그래머스 문제 - 진료과별 총 예약 횟수 출력하기 (0) | 2024.05.14 |
SQL 프로그래머스 문제 - 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2024.05.14 |
SQL 프로그래머스 문제 - 동명 동물 수 찾기 (0) | 2024.05.14 |