문제 67. 주문량이 많은 아이스크림들(난이도 10)(새 테이블 만들어 조회)
먼저 7월 아이스크림의 FLAVOR에 따른 TOTAL_ORDER 합을
구해야겠다고 생각했다. 하지만, 그 이후에 어떻게 해야할지
방법이 떠오르지 않았다.
그래서, 다른 사람의 코드를 보니
JULY에 대한 FLAVOR이 같은 TOTAL_ORDER를
더 한 새 테이블을 만들어주고
FIRST_HALF 테이블과 INNER JOIN으로 두 테이블 간의
TOTAL_ORDER의 합을 기준으로 내림차순 정렬 했었다.
JULY에 대한 FLAVOR이 같은 TOTAL_ORDER를
더 한 새 테이블을 만드는 방법으로는
FROM FIRST_HALF AS A
INNER JOIN
(
SELECT SHIPMENT_ID, FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDER
FROM JULY
GROUP BY FLAVOR
) AS B
ON A.SHIPMENT_ID = B.SHIPMENT_ID
로 만들어줄 수 있었고,
FIRST_HALF 테이블과 INNER JOIN으로 두 테이블 간의
TOTAL_ORDER의 합을 기준으로 내림차순 정렬은
GROUP BY A.FLAOVR
ORDER BY SUM(A.TOTAL_ORDER + B.TOTAL_ORDER) DESC
로 가능했다.
이후, LIMIT 3을 줘 상위 3개의 맛을 조회했다.
제출한 코드 :
SELECT A.FLAVOR
FROM FIRST_HALF AS A
INNER JOIN
(
SELECT SHIPMENT_ID, FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDER
FROM JULY
GROUP BY FLAVOR
) AS B
ON A.SHIPMENT_ID = B.SHIPMENT_ID
GROUP BY B.FLAVOR
ORDER BY SUM(A.TOTAL_ORDER + B.TOTAL_ORDER) DESC
LIMIT 3