본문 바로가기
SQL

프로그래머스 SQL문제(6) - 주문량이 많은 아이스크림들 조회하기

by 김랑해 2023. 8. 9.

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

 

프로그래머스

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

programmers.co.kr

 

 

SELECT FLAVOR
FROM(
	SELECT FLAVOR, SUM(TOTAL_ORDER) TOTAL_ORDER
	FROM(
		SELECT FLAVOR, TOTAL_ORDER
		FROM FIRST_HALF
		UNION
		SELECT FLAVOR, SUM(TOTAL_ORDER) TOTAL_ORDER
		FROM JULY
		GROUP BY FLAVOR)
	GROUP BY FLAVOR
	ORDER BY TOTAL_ORDER DESC)
FETCH FIRST 3 ROW ONLY

분명 JOIN 문제 카테고리인데.. JOIN을 사용하지 않았다

열 내 데이터 값이 같으면 TOTAL_ORDER값을 더하는 방법

바로 SUM(TOTAL_ORDER) 하고 GROUP BY 로 FLAVOR을 묶어주면 된다

 

그러니까 파이썬 groupby(~~ .agg.) 이거랑 똑같이 쓸 수 있는 것!! 야호

 

 

JOIN으로 푸는 방법도 추가하자!! 지금은 급하니까 다른 거 부터..!

 

<LEARNING POINT>
1. A열의 값이 같을 시 B열의 값을 더하는 방법 > SUM(B열) ~~ GROUP BY(A열)

2. FETCH FIRST N ROW ONLY : 상위 N개의 열만 뽑아내기