💡문제 풀이/프로그래머스 - Oracle

즐겨찾기가 가장 많은 식당 정보 출력하기 / 131123

뇌 리셋은 기본이지 2024. 6. 25. 16:29

정보

분류 : GROUP BY

 

문제

문제링크

 

풀이

-- 조   건 : 음식종류별로 즐겨찾기수가 가장 많은 식당
-- 조회컬럼 : 음식 종류, ID, 식당 이름, 즐겨찾기수
-- 정렬기준 : 음식 종류를 기준으로 내림차순 정렬
SELECT FOOD_TYPE
     , REST_ID
     , REST_NAME
     , FAVORITES
  FROM REST_INFO R 
 WHERE FAVORITES = (
                      SELECT MAX(R2.FAVORITES)
                        FROM REST_INFO R2
                       WHERE R.FOOD_TYPE = R2.FOOD_TYPE
                       GROUP BY R2.FOOD_TYPE
                    )
 ORDER BY FOOD_TYPE DESC

 

풀이 내용

서브쿼리를 통해 즐겨찾기 수가 많은 음식종류를 추출해주었습니다. 추출된 결과값은 부모 쿼리 WHERE절에 사용해주었습니다😉 서브쿼리는 다중행 서브쿼리가 아닌 단일행 서브쿼리를 사용해주었습니다. MAX는 GROUP BY절 기준으로 최고 높은 값을 가져오는 것이기 때문에 단일행 서브쿼리를 사용해주었습니다. MAX, SUM, MIN 같은 집계함수는 용도에 맞게 잘 사용하면 편하답니다😶‍🌫️