최대 1 분 소요

문제 링크

정답

-- FIRST_HALF: SHIPMENT_ID, FLAVOR, TOTAL_ORDER
-- JULY: SHIPMENT_ID, FLAVOR, TOTAL_ORDER

SELECT T1.FLAVOR
FROM FIRST_HALF AS T1
JOIN (
    SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDER
    FROM JULY
    GROUP BY FLAVOR
) AS T2 ON T1.FLAVOR = T2.FLAVOR
GROUP BY T1.FLAVOR
ORDER BY SUM(T1.TOTAL_ORDER) + T2.TOTAL_ORDER DESC
LIMIT 3;

✅ Point

  • JULY에서 먼저 FLAVOR별 총 주문 수량을 집계해서 T2 서브쿼리 생성
    • 이를 FIRST_HALF와 FLAVOR 기준으로 INNER JOIN
  • 정렬 후 LIMIT 3 으로 상위 3개만 출력 → ✅ 정확하고 간결한 접근