Algorithm
프로그래머스
SQL
즐겨찾기가 가장 많은 식당 정보

문제 링크

즐겨찾기가 가장 많은 식당 정보 출력하기 (opens in a new tab)

내 풀이

select FOOD_TYPE, REST_ID, REST_NAME, FAVORITES
from REST_INFO
group by FOOD_TYPE
having FAVORITES = MAX(FAVORITES)
order by FOOD_TYPE desc;

정답

ℹ️

첫 번째 쿼리는 서브쿼리를 사용하여 각 FOOD_TYPE에 대한 FAVORITES의 최대값을 찾습니다. 그런 다음 이 최대값을 가진 레코드를 메인 쿼리에서 선택합니다. 이 방법은 각 FOOD_TYPE에 대해 FAVORITES의 최대값을 가진 모든 레코드를 반환합니다. 즉, 동일한 FOOD_TYPE과 FAVORITES 값을 가진 여러 레코드가 있을 경우 모두 반환됩니다.

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;