1. 문제 풀이 아이디어
- 서브 쿼리와
IN키워드를 사용하여 문제를 해결할 수 있다.
2. 나의 정답 코드
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;3. 정리
GROUP BY절로food_type별로 그룹화하고MAX함수를 사용해 각 그룹의 최대favorites를 계산한다.
IN키워드를 사용해 서브 쿼리에서 반환된(food_type, MAX(favorites))와 동일한 행을 필터링한다.
ORDER BY절에서food_type을 기준으로 내림차순 정렬한다.
Share article