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
반응형