CS/데이터베이스

[SQL] 프로그래머스 : 즐겨찾기가 가장 많은 식당 정보 출력하기

JWonK 2023. 4. 28. 16:11
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/131123

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

음식종류별로 즐겨찾기 수가 가장 많은 식당의 정보를 출력하는 문제이다.

 

  • 음식종류별 → Group By를 통해 같은 음식 종류는 그룹화해준다.
  • 즐겨찾기 수가 가장 많은 → MAX Method를 통해 최대값 추출

 

주의할 점, group by를 통해 그룹화한 후, max를 이용하여 최대값만 추출한다면 가장 많은 즐겨찾기 수 값을 출력할 수 있겠지만 그에 해당하는 그 외 정보들은 출력할 수 없다.

 

따라서 where절을 이용하여 (FOOD_TYPE, MAX(FAVORITES)) 값을 엮은 서브쿼리문을 사용한다.

서브쿼리문 결과에 해당하는 결과만 값을 추출할 수 있도록 한다.

 

-- 코드를 입력하세요
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 1 desc;
728x90
반응형