최대 1 분 소요

문제 링크

정답

-- REST_INFO: REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS, TEL

-- 음식 종류 별
-- 즐겨찾기 수가 가장 많은 식당
WITH MAX_FAVORITES AS (
    SELECT FOOD_TYPE, MAX(FAVORITES) AS FAVORITES
    FROM REST_INFO
    GROUP BY FOOD_TYPE
)
SELECT T1.FOOD_TYPE, T2.REST_ID, T2.REST_NAME, T1.FAVORITES
FROM MAX_FAVORITES AS T1
JOIN REST_INFO AS T2 
    ON T1.FOOD_TYPE = T2.FOOD_TYPE
    AND T1.FAVORITES = T2.FAVORITES
ORDER BY T1.FOOD_TYPE DESC
;
    

✅ Point

  • GROUP BY와 SELECT의 일관성 유지
    • FOOD_TYPE 기준으로 MAX(FAVORITES)을 올바르게 집계