[Programmers, MySQL, Lv.3] 즐겨찾기가 가장 많은 식당 정보 출력하기
문제
REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요.
쿼리
SELECT food_type, rest_id, rest_name, favorites
FROM rest_info
JOIN (SELECT MAX(favorites) AS max_favorites
FROM rest_info
GROUP BY food_type) AS t
ON rest_info.favorites = t.max_favorites
GROUP BY food_type
ORDER BY food_type DESC
;
풀이
food_type
별로 가장 많은favorites
수를 뽑는다.(SELECT MAX(favorites) AS max_favorites FROM rest_info GROUP BY food_type) AS t
max_favorites
734
230
102
151
20
1
번에서 뽑은 테이블과rest_info
테이블을
favorites
기준으로 조인한다.FROM rest_info JOIN (SELECT MAX(favorites) AS max_favorites FROM rest_info GROUP BY food_type) AS t ON rest_info.favorites = t.max_favorites
food_type
기준으로GROUP BY
GROUP BY food_type
food_type
기준으로 내림차순 정렬ORDER BY food_type DESC
Leave a comment