본문 바로가기
Computer/Algorithm_SQL

[Algorithm_SQL] 성분으로 구분한 아이스크림 총 주문량 (Success)

by HJ0216 2023. 10. 10.
 

프로그래머스

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

programmers.co.kr

 

📝 Language: Oracle

 

1
2
3
4
5
6
7
8
9
  SELECT II.INGREDIENT_TYPE, 
         SUM(FH.TOTAL_ORDER) TOTAL_ORDER
    FROM FIRST_HALF FH
    JOIN ICECREAM_INFO II
      ON FH.FLAVOR=II.FLAVOR
GROUP BY II.INGREDIENT_TYPE
ORDER BY TOTAL_ORDER
;
 
 

🙂 확인 사항

1. FIRST_HALF, ICECREA_INFO 테이블

2. 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총 주문량 조회

3. 총주문량 기준 오름차순

4. 총주문량 컬럼명: TOTAL_ORDER

 

😮  외의 풀이

1
2
3
4
5
6
7
8
 SELECT DISTINCT II.INGREDIENT_TYPE, 
         SUM(FH.TOTAL_ORDER) OVER (PARTITION BY II.INGREDIENT_TYPE) TOTAL_ORDER
    FROM FIRST_HALF FH
    JOIN ICECREAM_INFO II
      ON FH.FLAVOR=II.FLAVOR
ORDER BY TOTAL_ORDER
;
 
 

윈도우 함수 사용

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
WITH JOINTABLE AS(
    SELECT II.INGREDIENT_TYPE, 
           FH.TOTAL_ORDER
      FROM FIRST_HALF FH
      JOIN ICECREAM_INFO II
        ON FH.FLAVOR=II.FLAVOR
)
  SELECT INGREDIENT_TYPE, 
         SUM(TOTAL_ORDER)
    FROM JOINTABLE
GROUP BY INGREDIENT_TYPE
ORDER BY SUM(TOTAL_ORDER)
;
 
 

 

 

 

🔗 소스 코드
GitHub