코딩테스트/Programmers

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

희동츄루리 2023. 7. 23. 15:52
728x90

링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

1. 상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량

2. 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요.

3. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요.

 

정답

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

 

풀이

1. 상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량

  • 정답)
    • JOIN하기: FIRST_HALF 테이블과 ICECREAM_INFO 테이블의 동일 컬림인 FLAVOR 컬럼을 기준으로 조인
    • 집계함수 SUM 이용: INGREDIENT_TYPE 을 기준으로 묶은 TOTAL_ORDER 컬럼의 총합 구하기
SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) TOTAL_ORDER
FROM FIRST_HALF F JOIN ICECREAM_INFO I
ON F.FLAVOR = I.FLAVOR

2. 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요.

  • 정답) ORDER BY TOTAL_ORDER ASC;

3. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요.

  • 정답) SUM(TOTAL_ORDER) TOTAL_ORDER