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