본문 바로가기

DB/Programmers SQL Kit

즐겨찾기가 가장 많은 식당 정보 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/131123

 

- REST_INFO 테이블에서 음식 종류, id, 식당이름, 즐겨찾기 수를 조회한다.

단, 음식 종류별 즐겨찾기 수가 가장 많은 식당의 것을 출력하며 음식 종류 기준 내림차 정렬한다.

1. food_type 기준으로 그룹핑해서 food_type과 max(favorites)를 뽑아낸다.

2. 뽑아낸 값에 해당하는 음식별 값들을 추출한다.

- SQL

SELECT food_type, rest_id, rest_name, favorites
FROM REST_INFO
WHERE (food_type, favorites) IN (SELECT food_type, MAX(favorites) FAVORITES
FROM REST_INFO
GROUP BY food_type)
order by food_type DESC;

* 서브 쿼리를 FROM에서 사용해도 되고 RANK 함수를 사용해도 가능하다.