[프로그래머스_SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기
📜문제Permalink
https://school.programmers.co.kr/learn/courses/30/lessons/131123
📜정답Permalink
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
📜노트Permalink
처음엔
SELECT FOOD_TYPE,REST_ID,REST_NAME,FAVORITES
FROM REST_INFO
GROUP BY FOOD_TYPE HAVING MAX(FAVORITES)
ORDER BY FOOD_TYPE DESC
와 같이 작성을 했지만 오답이였다.
이유는 GROUP BY
를 사용하면 쿼리순서
때문에MAX(FAVORITES)값이 아닌 분류된 값에서 상단에 있는 값을 조회하게 된다.
그러니 서브쿼리를 사용하여 조회를 해야한다.