본문 바로가기
Stay Hungry Stay Foolish/SQL

[MYSQL] 주문량이 많은 아이스크림들 조회하기

by HANNI하니 2023. 10. 4.

사용 언어 - MYSQL

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

정답

서브쿼리, JOIN절 (정답 맞춘 여부 X

1. FIRST_HALF 테이블과 다르게, JULY 테이블은 같은 아이스크림에 대해 여러 개의 데이터가 있다. 같은 맛의 아이스크림도 여러 개의 출하 번호(SHIPMENT_ID)를 갖게 된다.

-> SHIPMENT_ID는 의미 없음

-> JOIN 전에 JULY 테이블을 미리 FLAVOR로 그루핑하여 TOTAL_ORDER를 구할 필요가 있다. = 서브쿼리 작성

 

2. 총 주문량을 구한 다음, 내림차순 정렬 + LIMIT 3

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

 

 

 

레퍼런스

  • 정답 깃허브

https://github.com/yyeongeun/codingtest/blob/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%20MYSQL/%EC%A3%BC%EB%AC%B8%EB%9F%89%EC%9D%B4%EB%A7%8E%EC%9D%80%EC%95%84%EC%9D%B4%EC%8A%A4%ED%81%AC%EB%A6%BC%EB%93%A4%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0.sql

 

댓글