프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 해석
1. 음식 분류별로 GROUP BY를 하기
2. GROUP BY의 max값을 활용해서 가장 많은 좋아요를 받기
3. 주의점은 GROUP BY로 MAX(FAVORITES)를 뽑는다고 해서 이 최대값이 어떤 REST_ID와 연결되어있는지 알 수 없다.
문제 풀이
1. where절 서브쿼리로 각 음식 타입마다 가장 많은 좋아요를 테이블을 뽑아와서 IN절로 비교한다.
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
'코딩테스트 > SQL' 카테고리의 다른 글
[SQL Lv4] 입양 시각 구하기(2) (0) | 2024.11.26 |
---|---|
[SQL Lv2] 입양 시각 구하기(1) (0) | 2024.11.26 |
[SQL Lv4] 주문량이 많은 아이스크림들 조회하기 (1) | 2024.11.18 |
[SQL Lv4] 특정 세대의 대장균 찾기 (0) | 2024.11.18 |
[SQL Lv3] 대장균의 크기에 따라 분류하기 1 (0) | 2024.11.18 |
댓글