728x90
SQL GROUP BY] 즐겨찾기가 가장 많은 식당 정보 출력하기
1] FOOD_TYPE 별로 가장 인기가 많은 MAX(FAVORITES) 테이블 만들기
SELECT FOOD_TYPE, MAX(FAVORITES) AS MaxFavorites
FROM REST_INFO
GROUP BY FOOD_TYPE
(1) FROM REST_INFO
(2) GROUP BY FOOD_TYPE
2] 기존 테이블과 INNER JOIN
-- 코드를 입력하세요
SELECT r.FOOD_TYPE, r.REST_ID, r.REST_NAME, r.FAVORITES
FROM REST_INFO r
INNER JOIN(
SELECT FOOD_TYPE, MAX(FAVORITES) AS MaxFavorites
FROM REST_INFO
GROUP BY FOOD_TYPE
) AS max_res ON r.FOOD_TYPE = max_res.FOOD_TYPE
AND r.FAVORITES = max_res.MaxFavorites
ORDER BY r.FOOD_TYPE DESC;
(1) FOOD_TYPE이 같고, 기존 테이블 FAVORITES = 최대값 테이블 MaxFavorites 같도록 합친다.
주의
-- 코드를 입력하세요
SELECT r.FOOD_TYPE, r.REST_ID, r.REST_NAME, MAX(r.FAVORITES)
FROM REST_INFO r
GROUP BY r.FOOD_TYPE
GROUP BY에 속하지 않은 모든 컬럼은 집계 함수 내에 있어야 한다.
728x90
'SQL - 프로그래머스 GROUP_BY' 카테고리의 다른 글
SQL GROUP BY] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (1) | 2024.01.02 |
---|---|
SQL GROUP BY] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.01.02 |
SQL GROUP BY] 저자 별 카테고리 별 매출액 집계하기 (1) | 2023.12.26 |
SQL GROUP BY] 카테고리 별 도서 판매량 집계하기 (1) | 2023.12.17 |
SQL GROUP BY] 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2023.12.11 |