[프로그래머스] 주문량이 많은 아이스크림들 조회하기

Ga0·2023년 5월 26일
0

programmers

목록 보기
9/14

주문량이 많은 아이스크림들 조회하기(JOIN - LEVEL4)

예시

FIRST_HALF 테이블이 다음과 같고

JULY 테이블이 다음과 같다면

7월 아이스크림 총주문량과 상반기의 아이스크림 총 주문량을 더한 값이 큰 순서대로 상위 3개의 맛을 조회하면 strawberry(520 + 220 + 3,100 = 3,840), mango(790 + 110 + 2,900 = 3,800), chocolate(520 + 3,200 = 3,720) 순이다.

위의 설명대로 되면 SQL 실행 결과는 다음과 같다.

SQL문 - MySQL

select fh.FLAVOR -- 맛
    from FIRST_HALF fh 
        -- JULY 테이블의 맛을 기준으로 총주문량을 누적 더하기, 출하 번호를 가지는 테이블을 새로 만들어서 JOIN
        join (select sum(TOTAL_ORDER) as TOTAL_ORDER, 
                     SHIPMENT_ID
                    from JULY
                group by FLAVOR -- 맛으로 그룹화하고) j 
        on j.SHIPMENT_ID = fh.SHIPMENT_ID -- 출하 번호로 묶는다.
    -- JULY의 누적한 총주문량과 FIRST_HALF테이블의 총 주문량을 더해서 내림차순으로 정렬하여 상위 3개만 뽑는다.
    order by (fh.TOTAL_ORDER + j.TOTAL_ORDER) DESC limit 3 
  • 테이블을 직접적으로 JOIN(연결)하는 것이 아니라 SELECT문으로 테이블을 가공하여 JOIN(연결)하였다

0개의 댓글