728x90
https://school.programmers.co.kr/learn/courses/30/lessons/131123
- 1차
- 음식 종류별로 그룹화 한 후 즐겨찾기가 가장 높은 것을 출력하려고 했는데 '일식'이 나오지 않음.
- 원인!!
- GROUP BY 사용시 column이 SELECT 절에 그대로 들어가면 상관 없지만, 그룹 바이 요소로 사용하지 않는 column을 select절에 다이렉트로 들어갈 수 없다.
- 집계함수를 사용해야만 한다.
SELECT food_type,rest_id,rest_name,favorites
from rest_info
group by food_type
having favorites = max(favorites)
order by food_type desc;
- 2차(정답)
- '음식종류별로 즐겨찾기수가 가장 많은 식당' 에 포함하는 행!!
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;
728x90
반응형
'TIL - 프로그래밍 > SQL' 카테고리의 다른 글
[프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 - MySQL (0) | 2023.02.24 |
---|---|
[프로그래머스] 카테고리 별 도서 판매량 집계하기 - MySQL (0) | 2023.02.20 |
[230220] SQL : WHERE과 HAVING의 차이 (0) | 2023.02.20 |
[230214] SQL 공부 (0) | 2023.02.14 |
SQL (0) | 2022.11.01 |
댓글