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
반응형
'dev > db' 카테고리의 다른 글
[DB] h2 database 실행 방법 (0) | 2023.10.13 |
---|---|
[SQL] 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2023.10.12 |
[SQL] 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2023.10.12 |
[SQL] 조건별로 분류하여 주문상태 출력하기 (0) | 2023.10.12 |
[SQL] 있었는데요 없었습니다 (0) | 2023.10.11 |