«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Recent Posts
Tags more
Today
Total
관리 메뉴

내 인생은 개발 중

[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기 - MySQL 본문

SQL

[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기 - MySQL

seul.e 2024. 5. 16. 21:46

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

 

프로그래머스

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

programmers.co.kr

 

풀이

-- 코드를 입력하세요
SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES
FROM REST_INFO
WHERE (FOOD_TYPE, FAVORITES) IN (SELECT FOOD_TYPE, MAX(FAVORITES)
                                FROM REST_INFO
                                GROUP BY FOOD_TYPE)
ORDER BY FOOD_TYPE DESC;

 

💡알게 된 점💡

처음에는 서브쿼리를 이용해서 푼 게 아니라 where절 없이 MAX(FAVORITES)을 이용해서 풀었다.

FAVORITES 값만 본다면 정답이라고 생각할 수도 있지만, REST_ID와 REST_NAME이 다른걸로 출력된다.

이는 GROUP BY를 이용하면 가장 상단의 데이터를 가져오기 때문에 MAX(FAVORITES)인 식당 아이디와 이름이 아니었다. 그렇기에 서브쿼리를 이용해서 MAX(FAVORITES)과 일치하는 데이터를 가져와야 한다.

 

아직 조금 어렵긴 하지만 서브쿼리 문제를 많이 풀어보면 괜찮아질 것 같당!

Comments