https://school.programmers.co.kr/learn/courses/30/lessons/131123
p131123 Level.3 GROUP BY
내가 시도한 방식
SELECT FOOD_TYPE, REST_ID, REST_NAME, MAX(FAVORITES)
FROM REST_INFO
GROUP BY FOOD_TYPE
ORDER BY FOOD_TYPE DESC;
정답
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
서브쿼리를 넣어야 하는 이유 : 두 컬럼의 조건이 일치해야 한다
처음 넣었던 MAX함수만으로 뽑게되면 식당 명과 일치하지 않게 되는 문제가 발생한다.
'공부 > 프로그래머스' 카테고리의 다른 글
공배수(lv0) - with Stream (0) | 2023.09.26 |
---|---|
프로그래머스 9로 나눈 나머지(lv0) with Rambda, Stream (0) | 2023.09.19 |
배열의 평균값(lv0) - with Stream (0) | 2023.09.19 |