개발/SQL

프로그래머스SQL_즐겨찾기가 가장 많은 식당 정보 출력하기

송디 2024. 5. 10. 10:20

출처 : 프로그래머스

■ 사용 문법 

MAX, GROUP BY, JOIN

 

■ 사용 방법

1. GROUP BY를 이용해 FOOD_TYPE 별 최대 FAVOTRITE 수를 구한다. 이 때, MAX를 사용하는데, 나머지 REST_ID와, REST_NAME의 값을 제대로 가져올 수 없다.

2. 최대값과 FOOD_TYPE으로 REST_INFO와 조인해준다. 

 

■ 코드

SELECT A.FOOD_TYPE, A.REST_ID, A.REST_NAME, A.FAVORITES
FROM REST_INFO AS A
JOIN (
    SELECT FOOD_TYPE, MAX(FAVORITES) AS FAVORITES
    FROM REST_INFO
    GROUP BY FOOD_TYPE
    ) AS B
ON A.FAVORITES = B.FAVORITES AND A.FOOD_TYPE = B.FOOD_TYPE
ORDER BY FOOD_TYPE DESC
728x90