https://school.programmers.co.kr/learn/courses/30/lessons/133027
풀이 - 나의 생각
SELECT FLAVOR, SUM(TOTAL_ORDER) TOTAL_ORDER
FROM JULY
GROUP BY FLAVOR
두 테이블을 조인을 하기전에 JULY 테이블에서
아이스크림 맛이 겹치는 경우를 GROUP BY로 합치면서 SUM으로 주문량을 구합니다.
-> JULY는 두개의 공장에서 출하하기 때문입니다.
그 다음에 조인한 걸 GROUP BY로 아이스크림 맛을 합치고
SUM으로 두 테이블의 합을 구합니다.
그리고 ORDER BY로 내림차순(DESC)하고
LIMIT 3로 상위 3개만 구합니다.
코드
SELECT a.FLAVOR
FROM (SELECT f.FLAVOR, SUM(f.TOTAL_ORDER+j.TOTAL_ORDER) TOTAL_ORDER
FROM FIRST_HALF f JOIN (
SELECT FLAVOR, SUM(TOTAL_ORDER) TOTAL_ORDER
FROM JULY
GROUP BY FLAVOR
) j
ON f.FLAVOR = j.FLAVOR
GROUP BY f.FLAVOR
ORDER BY TOTAL_ORDER DESC) a
LIMIT 3;
728x90