IT/SQL

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

무지개는 환상 2024. 1. 23. 20:29

<REST_INFO> 테이블 구조

REST_INFO 테이블

 

<문제>

 

 

 

<문제 풀이>

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 절에 서브쿼리를 넣었어야 풀 수 있는 문제였다..

 

만약 SELECT 절에 그냥 max(FAVORTITES)를 한다면 FAVORITES 값만 맥스로 나오고, 해당 음식 분야에 값과 실제로는 다른 값이 나오게 된다! (해당 부분에서 매우 애를 먹었따..) 아직은 서브쿼리를 어느 경우에 사용해야 하는지 자세히 구분하고 있지 못하는것 같다..

 

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