본문 바로가기
프로그래머스/코딩테스트 연습

SQL lv3 즐겨찾기가 가장 많은 식당 정보 출력하기

by 포잉띠 2024. 5. 3.

 

 

with f_cnt as(
select food_type, max(favorites) as favorites
from rest_info
group by 1
)
SELECT r.food_type, r.rest_id, r.rest_name, max(r.favorites)
from rest_info r
join f_cnt f on f.food_type = r.food_type and f.favorites = r.favorites
group by 1
order by 1 desc

 

다른문제에서도 겪었던 문제인데 group by 사용했을 때 매핑이 제대로 되지 않아 따로 with문이나 서브쿼리를 이용하여 매핑 진행한 후에 다시 비교하여 일치하는 레코드들만 출력하는 방식으로 문제를 해결했다.