코딩테스트/SQL 코딩테스트

<프로그래머스> 성분으로 구분한 아이스크림 총 주문량

배또가또 2023. 12. 20. 16:54

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/133026

 

프로그래머스

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

programmers.co.kr


  • 문제 요구사항
    • 상반기 동안 각 아이스크림의 성분 타입과 성분 타입에 대한 아이스크림의 총 주문량이 작은순서대로 조회
    • 이때 총 주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정

 

성분 타입을 알기 위해 FIRST_HALF 테이블과 ICECREAM_INFO 테이블을 FLAVOR를 기준으로 INNER JOIN한다

성분 타입으로 GROUP BY를 하고 SUM()집계함수로 TOTAL_ORDER의 합계를 구하고 TOTAL_ORDER로 별명(alias)를 설정해주면 문제를 해결할 수 있다.


1) Oracle

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

 


2) MySQL

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