SQL 문제

문제 67. 주문량이 많은 아이스크림들(난이도 10)(새 테이블 만들어 조회)

kagan-draca 2024. 8. 1. 15:30

 

 

먼저 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