내 인생은 개발 중
[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기 - MySQL 본문
https://school.programmers.co.kr/learn/courses/30/lessons/131123
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
-- 코드를 입력하세요
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 FOOD_TYPE DESC;
💡알게 된 점💡
처음에는 서브쿼리를 이용해서 푼 게 아니라 where절 없이 MAX(FAVORITES)을 이용해서 풀었다.
FAVORITES 값만 본다면 정답이라고 생각할 수도 있지만, REST_ID와 REST_NAME이 다른걸로 출력된다.
이는 GROUP BY를 이용하면 가장 상단의 데이터를 가져오기 때문에 MAX(FAVORITES)인 식당 아이디와 이름이 아니었다. 그렇기에 서브쿼리를 이용해서 MAX(FAVORITES)과 일치하는 데이터를 가져와야 한다.
아직 조금 어렵긴 하지만 서브쿼리 문제를 많이 풀어보면 괜찮아질 것 같당!
'SQL' 카테고리의 다른 글
[프로그래머스] 조건에 맞는 사용자와 총 거래금액 조회하기 - MySQL (0) | 2024.05.20 |
---|---|
[프로그래머스] 카테고리 별 도서 판매량 집계하기 - MySQL (0) | 2024.05.18 |
[프로그래머스] 물고기 종류 별 잡은 수 구하기 - MySQL (0) | 2024.05.06 |
[프로그래머스] 노선별 평균 역 사이 거리 조회하기 - MySQL (0) | 2024.05.05 |
[프로그래머스] 성분으로 구분한 아이스크림 총 주문량 - MySQL (0) | 2024.05.05 |
Comments