Notice
Recent Posts
Recent Comments
Archives
반응형
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Today
Total
11-15 10:41
250x250
관리 메뉴

꿈꾸는 개발자의 블로그

[프로그래머스] Oracle - (SQL 고득점 Kit) GROUP BY 가격대 별 상품 개수 구하기 본문

Algorithm/Programmers

[프로그래머스] Oracle - (SQL 고득점 Kit) GROUP BY 가격대 별 상품 개수 구하기

aldrn29 2023. 2. 21. 17:35

문제

PRODUCT 테이블에서 1) 만원 단위의 가격대 별로 2) 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요.

 

문제 풀이

  1. 만원 단위의 가격대 별로 조회하기 위하여 GROUP BY로 묶는다.
  2. 상품 개수를 구하기 위하여 count 함수로 조회한다.

- TRUNC(PRICE, -4)를 사용한 이유 : 기존에 아래와 같이 SUBSTR() 함수를 사용하여 앞 부분만 잘라낸 후 다시 10000을 곱해주었다면, TRUNC는 지정한 자릿수를 반올림 해주지 않고 자르기 때문에 추가 작업이 필요없다.

SELECT SUBSTR(PRICE, 1, 1) * 10000 AS PRICE_GROUP, count(*) AS PRODUCTS
FROM PRODUCT
GROUP BY SUBSTR(PRICE, 1, 1) * 10000
ORDER BY 1

 

전체 코드

SELECT TRUNC(PRICE, -4) AS PRICE_GROUP, count(*) AS PRODUCTS
FROM PRODUCT
GROUP BY TRUNC(PRICE, -4)
ORDER BY 1

 

728x90
728x90
Comments