본문 바로가기
프로그래머스/MySQL

[프로그래머스] 성분으로 구분한 아이스크림 총 주문량 - MySQL - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2024. 10. 2.
728x90
반응형

 

 

프로그래머스

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

programmers.co.kr

 

1. 문제 설명

반응형

2. 풀이과정

해당 문제는 상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총 주문량 총주문량이 작은 순서대로 조회하는 문제이다.

상반기 주문 정보를 담은 테이블아이스크림 성분에 대한 정보를 담은 테이블이 존재하는데 각 아이스크림 맛 컬럼이 중복된다. 아이스크림 맛 컬럼을 기준으로 JOIN 하여 두 테이블을 하나로 만든 후 아이스크림 성분 타입에 대한 아이스크림의 총주문량을 구하면 된다.

아이스크림 성분 타입에 대한 아이스크림의 총주문량을 구해야 하므로 아이스크림의 성분 컬럼을 기준으로 그룹을 만들어준다.

이후 아이스크림 성분별 각 주문량을 합하면 각 성분별 총주문량을 구할 수 있다.

총주문량을 나타내는 컬럼은 TOTAL_ORDER로 지정하여 조회해야 한다.

최종 결과는 총주문량이 작은 순서대로 조회한다.

 

  1. 아이스크림 성분 타입과 성분 타입별로 주문량을 합해 총주문량을 구하여 TOTAL_ORDER 컬럼으로 조회한다. SELECT II.INGREDIENT_TYPE, SUM(FH.TOTAL_ORDER) AS TOTAL_ORDER
  2. 상반기 주문 정보 테이블을 FH로 지정하고 FROM FIRST_HALF AS FH
  3. 아이스크림 성분에 대한 정보 테이블을 II로 지정한 뒤, 두 테이블에서 아이스크림 맛 컬럼을 기준으로 JOIN 해준다. JOIN ICECREAM_INFO AS II ON FH.FLAVOR = II.FLAVOR
  4. 아이스크림 성분 타입에 대한 아이스크림의 총주문량을 구해야 하므로 아이스크림의 성분 컬럼을 기준으로 그룹을 만들어준다. GROUP BY II.INGREDIENT_TYPE
  5. 최종 결과는 총주문량이 작은 순서대로 조회한다. ORDER BY TOTAL_ORDER
728x90

3. 소스코드

SELECT II.INGREDIENT_TYPE, SUM(FH.TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF AS FH
JOIN ICECREAM_INFO AS II ON FH.FLAVOR = II.FLAVOR
GROUP BY II.INGREDIENT_TYPE
ORDER BY TOTAL_ORDER
728x90
반응형