꿈꾸는 개발자의 블로그
[프로그래머스] Oracle - (SQL 고득점 Kit) GROUP BY 즐겨찾기가 가장 많은 식당 정보 출력하기 본문
Algorithm/Programmers
[프로그래머스] Oracle - (SQL 고득점 Kit) GROUP BY 즐겨찾기가 가장 많은 식당 정보 출력하기
aldrn29 2023. 2. 21. 13:14문제
REST_INFO 테이블에서 1) 음식종류별로 2) 즐겨찾기수가 가장 많은 식당의 3) 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요.
문제 풀이
- 음식종류별로 조회하기 위하여 GROUP BY로 묶는다.
- 즐겨찾기수가 가장 많은 식당을 구하기 위하여 max 함수로 조회한다.
- 음식종류별 즐겨찾기수가 가장 많은 식당만 뽑아낸 서브쿼리와 기존 쿼리를 JOIN하여 ID, 식당 이름을 조회한다.
전체 코드
SELECT a.FOOD_TYPE, a.REST_ID, a.REST_NAME, a.FAVORITES
FROM REST_INFO a JOIN (
SELECT FOOD_TYPE, max(FAVORITES) AS FAVORITES
FROM REST_INFO
GROUP BY FOOD_TYPE
) b ON a.FOOD_TYPE = b.FOOD_TYPE AND a.FAVORITES = b.FAVORITES
ORDER BY 1 DESC
728x90
728x90
'Algorithm > Programmers' 카테고리의 다른 글
Comments