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

[SQL Lv4] 주문량이 많은 아이스크림들 조회하기

by 박창준 2024. 11. 18.

https://school.programmers.co.kr/learn/courses/30/lessons/133027

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 해석

1. TOTAL_ORDER 상위 랭킹 3개를 출력하는 문제이다

 

문제 풀이

1. CTE를 이용해 미리 FIRST_HALF과 JULY 테이블의 총합을 구해서 정렬한 파생 테이블을 만들었다.

2. 그리고 LIMIT을 활용해 상위 3개만 뽑아오도록 구현했다.

 

WITH RANKDATA AS (
    SELECT 
        F.FLAVOR,
        SUM(F.TOTAL_ORDER + J.TOTAL_ORDER) AS TOTAL_ORDER
    FROM FIRST_HALF F
    INNER JOIN JULY J ON F.FLAVOR = J.FLAVOR
    GROUP BY F.FLAVOR
    ORDER BY TOTAL_ORDER DESC
)

SELECT FLAVOR 
FROM RANKDATA
LIMIT 3

댓글