-- 풀이
WITH MAX_FAV AS (
SELECT FOOD_TYPE
, MAX(FAVORITES) AS FAVORITES
FROM REST_INFO
GROUP BY FOOD_TYPE
)
SELECT R.FOOD_TYPE
, R.REST_ID
, R.REST_NAME
, M.FAVORITES
FROM REST_INFO R
JOIN MAX_FAV M
ON R.FAVORITES = M.FAVORITES
GROUP BY FOOD_TYPE
ORDER BY FOOD_TYPE DESC
- 해설
1. WITH절로 FOOD_TYPE별 가장 높은 FAVORITES를 출력하는 MAX_FAV라는 테이블을 만듦.
2. 기존 REST_INFO 테이블과 JOIN해서 FOOD_TYPE별로 MAX_FAV의 FAVORITES와 같은 FAVORITES를 갖는 식당의 정보(=FOOD_TYPE별 가장 높은 FAVORITES를 갖는 식당의 정보)를 출력함.
'코딩테스트 > SQL - 프로그래머스' 카테고리의 다른 글
SQL 고득점 kit(GROUP BY) - 저자 별 카테고리 별 매출액 집계하기 (2) | 2023.12.23 |
---|---|
SQL 고득점 kit(GROUP BY) - 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2023.12.18 |
SQL 고득점 kit(SELECT) - 서울에 위치한 식당 목록 출력하기 (0) | 2023.12.15 |
SQL 고득점 kit(SELECT) - 3월에 태어난 여성회원 목록 출력하기 (0) | 2023.12.12 |
SQL 고득점 kit(SELECT) - 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2023.12.12 |