강의로 돌아가기
뚜***

어디가 잘못된건가요...? 고수님들 도와주세요 ㅜ.ㅜ

SELECT
FOODTYPE,
REST
ID,
RESTNAME,
FAVORITES
from
`REST
INFO`
group by
FOODTYPE
having
FAVORITES = MAX(FAVORITES)
order by
FOOD
TYPE DESC

작성중인 코드―solution.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- 코드를 입력하세요
SELECT
    FOOD_TYPE,
    REST_ID,
    REST_NAME,
    FAVORITES
from
    `REST_INFO`
group by
    FOOD_TYPE
having
    FAVORITES = MAX(FAVORITES)
order by
    FOOD_TYPE DESC
1 개의 답변
라***

FOOD-TYPE은 동일한데 REST-ID나 REST-NAME이 다른 케이스가 존재해서 MAX(FAVORITES)을 구하려고 하면 오류가 납니다.
기본적으로 MAX(),MIN(),SUM() 같은 집계 함수를 사용할 경우 SELECT에 집계에 필요한 컬럼만 존재하거나 그게 아니라면 최대값을 계산하기 위해 비교해야하는 값들로 별도의 서브 쿼리를 작성해야 합니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.