본문 바로가기
SQL

programmers : 주문량이 많은 아이스크림들 조회하기

by sooyeoon 2023. 1. 13.

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

SELECT F.FLAVOR 
FROM FIRST_HALF F JOIN JULY J
USING(FLAVOR)
GROUP BY FLAVOR
ORDER BY SUM(F.TOTAL_ORDER) + SUM(J.TOTAL_ORDER) DESC
LIMIT 3;

처음에 SUM 연산자 없이 두 테이블에 대한 TOTAL_ORDER 값만을 더한 뒤 , 기준 컬럼을 SHIPMENT_ID로 설정하고 조인시켜 틀렸던 문제

 

 

더보기

처음 제출했던 쿼리

SELECT  F.FLAVOR
FROM FIRST_HALF F JOIN JULY J
USING(SHIPMENT_ID)
GROUP BY FLAVOR
ORDER BY F.TOTAL_ORDER + J.TOTAL_ORDER DESC
LIMIT 3;

 

정답이 나오지 않아 고민해보니 FLAVOR를 기준으로 조인시키는게 맞다는 생각이 들었다.

이어서 FLAVOR 별로 SHIPMENT_ID가 다를 수도 있겠다는 생각에 ORDER BY에서 SUM으로 FLAVOR 마다 TOTAL_ORDER 값을 합산한 뒤 더하여 내림차순으로 정렬시켰다. 

 

보통 고유컬럼, 기본키가 ID인 경우가 많다보니 당연히 조인도 ID값으로 해야한다는 생각에 FLAVOR를 기준으로 조인시킬 생각을 못했었는데, 이름명도 고유한 값이 될 수 있다는 걸 깨닫게 해준 문제!