본문 바로가기
SQL/코딩테스트

[프로그래머스 / MySQL] 성분으로 구분한 아이스크림 총 주문량

by Hi_heidi 2024. 2. 2.

문제

💡 상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요.

 

테이블 형태

FIRST_HALF /  ICECREAM_INFO
출력 결과 예시

 

풀이

SELECT I.INGREDIENT_TYPE, SUM(F.TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF AS F
    JOIN ICECREAM_INFO AS I ON F.FLAVOR = I.FLAVOR
GROUP BY I.INGREDIENT_TYPE
ORDER BY TOTAL_ORDER

 

해설

FROM FIRST_HALF AS F
    JOIN ICECREAM_INFO AS I ON F.FLAVOR = I.FLAVOR
  • 성분타입 별 아이스크림 총 주문량이 작은 순서대로 조회해야 한다
  • 상반기 주문정보 테이블 FIRST_HALF(F)의 주문수량과 아이스크림 정보 테이블 ICECREAM_INFO(I)의 성분타입이 모두 존재해야 성분타입 별 총 주문량을 산출할 수 있으므로 공통컬럼인 FLAVOR를 기준으로 두 테이블을 INNER JOIN 한다
GROUP BY INGREDIENT_TYPE
  • 테이블(I)의 아이스크림 성분 타입으로 그룹핑한다
SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDER
  • SELECT문에서 SUM 으로 성분타입 별 총주문량을 집계해 TOTAL_ORDER 로 지정한다
ORDER BY TOTAL_ORDER
  • 총주문량이 작은 순서대로 정렬한다