본문 바로가기
DB/MySQL

Join - 주문량이 많은 아이스크림들 조회하기

by hyohyohyo 2023. 2. 26.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/133027

 

프로그래머스

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

programmers.co.kr

풀이

아 순간 보고 머리가 아픈 문제였다.

july_tot에서의 total_order들의 합과 first_half에서의 total_order의 합을 구하라고...?

여기서 전자가 들인것이 문제였다.

그래서 차근차근 문제를 하나씩 해결해 나가보자.

일단 전자가 문제이니 저 july_tot에서 total_order들의 합을 구한 테이블을 가상의 테이블로 만들자.

with july_tot as
(
    SELECT sum(total_order) tot, flavor
    FROM july
    group by flavor
)

자 이러면 이제 문제의 난이도는 확 낮아지게 된다.

이렇게 만든 july_tot를 first_half와 join을 한 뒤, 그것을 정렬하고 limit을 걸면 끝이 난다.

 

코드

-- 코드를 입력하세요
with july_tot as
(
    SELECT sum(total_order) tot, flavor
    FROM july
    group by flavor
)

select a.flavor
from july_tot a join FIRST_HALF b on a.flavor = b.flavor
order by (a.tot + b.total_order) desc
limit 3

댓글