부제:
즐겨찾기가 가장 많은 식당 정보 출력하기, 레벨 3
1. 문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/131123
2. 정답 코드:
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
)
ORDER BY FOOD_TYPE DESC;
3. 오류 상황:
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 와 컬럼의 불일치
=> having 절 오용
4. 시도 방법: 서브 쿼리 활용
5. 최종 문제 해결 방법: WHERE 절에서 음식 종류별 최대 즐겨찾기 수 리스트를 먼저 서브쿼리에서 만들어 일치하는 항만 필터링
'SQL 알고리즘 코드카타' 카테고리의 다른 글
| SQL 알고리즘 코드카타 17일차(2) 26.01.15(목) (1) | 2026.01.15 |
|---|---|
| SQL 알고리즘 코드카타 17일차(1) 26.01.15(목) (0) | 2026.01.15 |
| SQL 알고리즘 코드카타 16일차(2) 26.01.14(수) (0) | 2026.01.14 |
| SQL 알고리즘 코드카타 16일차(1) 26.01.14(수) (0) | 2026.01.14 |
| SQL 알고리즘 코드카타 15일차(3) 26.01.13(화) (0) | 2026.01.13 |