본문 바로가기
TIL - 프로그래밍/SQL

[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기 - SQL

by chaemj97 2023. 2. 20.
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


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

댓글