dev/db
[SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기
캄춰
2023. 10. 12. 14:00
728x90
반응형
Programmers / MySQL / Lv.3
더보기
정말 어려운 문제 였다
나름 서브쿼리에 REST_ID를 찾아내어 도출하고 싶었지만.. 아래의 방법으로 도출하였다
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;
[해석]
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)
: FOOD_TYPE과 FAVORITES의 개수가 일치해야 한다
: 서브쿼리에 FOOD_TYPE과 FAVORITES의 가장 많은 수를 확인 시킨다
: 그래서 WHERE절에 IN을 넣어 서브쿼리와 일치하는 값을 도출
ORDER BY FOOD_TYPE DESC;
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/131123
728x90
반응형