[MySQL] 가격대 별 상품 개수 구하기

AI Scientist를 목표로!·2023년 1월 2일
0

프로그래머스 문제


테이블 구조

  • 테이블명: PRODUCT
    • PRODUCT_ID : 상품ID
    • PRODUCT_CODE : 상품코드
    • PRICE : 판매가


문제

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


문제 분석

  1. PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력

  2. 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정

  3. 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시

  4. 가격대를 기준으로 오름차순 정렬


해결 방법

  • 만원 단위의 가격대 별로 상품 개수를 출력 + 구간 최소금액으로 표시

현재 PRICE 컬럼을 보면 천원 가격대 별로 각자 구성이 되어 있음

해당 가격을 만원 단위로 묶어줄 필요가 있음

TRUNCATE 함수를 사용해 버림을 진행

# 함수 예시

TRUNCATE(12345,6)
 	> 12345
    
TRUNCATE(12345,1)
 	> 12345
    
TRUNCATE(12345,0)
 	> 12345
    
TRUNCATE(12345,-1)
 	> 12340
    
TRUNCATE(12345,-2)
 	> 12300
    
TRUNCATE(12345,-3)
 	> 12000
    
TRUNCATE(12345,-4)
 	> 10000
    
TRUNCATE(12345,-5)
 	> 0 
  • 가격대 기준 오름 차순 정렬
    • GROUP BY 사용

최종 코드

SELECT TRUNCATE(PRICE, -4) AS PRICE_GROUP, COUNT(PRODUCT_ID)
from product
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
profile
딥러닝 지식의 백지에서 깜지까지

0개의 댓글