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

2024. 12. 26. 17:25·Algorithm/프로그래머스

 

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요.

 

이 문제를 보고 group by 음식 종류를 하고, max값을 가져오면 된다고 생각했다.

SELECT FOOD_TYPE, REST_ID, REST_NAME, MAX(FAVORITES)
FROM REST_INFO
GROUP BY FOOD_TYPE
ORDER BY FOOD_TYPE DESC;

 

하지만, 답이 계속 틀려서 다른 사람들의 설명들을 찾아보던 중 어떤 점이 틀렸는지 알 수 있었다. 

 

 

GROUP BY를 했을 때, 즐겨찾기 순서로 정렬된 값이 아닌 첫번째 값들을 가져오기 때문에 틀렸다.

 

따라서, 서브쿼리를 사용하여 즐겨찾기 순서를 찾아야 했는데, 처음엔 = 연산자를 사용했다. 하지만, = 연산자를 사용하면 단일 값 비교만 가능하기 때문에 원하는 값을 찾을 수 없다. 지금 우리는 음식 종류, 즐겨찾기 컬럼을 비교해야 하기 때문에 여러 값을 비교할 땐 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

 

이렇게 두개 컬럼으로 묶은 다음에 즐겨찾기의 최대 값을 찾고, group by 하면 되는 문제였다. 

 

 

참고: 

https://jaehwaseo.tistory.com/24

 

프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 SQL(MySQL)

문제 다음은 식당의 정보를 담은 REST_INFO 테이블입니다. REST_INFO 테이블은 다음과 같으며 REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS, TEL은 식당 ID, 식당 이름, 음식 종류, 조회수, 즐겨찾

jaehwaseo.tistory.com

 

'Algorithm > 프로그래머스' 카테고리의 다른 글

조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기  (1) 2024.12.30
자동차 평균 대여 기간 구하기  (1) 2024.12.29
SQL  (2) 2024.12.23
[프로그래머스] Lv.3 징검다리 건너기  (1) 2024.09.26
[프로그래머스] Lv.3 합승 택시 요금  (0) 2024.08.13
'Algorithm/프로그래머스' 카테고리의 다른 글
  • 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
  • 자동차 평균 대여 기간 구하기
  • SQL
  • [프로그래머스] Lv.3 징검다리 건너기
미네구스
미네구스
  • 미네구스
    망구스 blog
    미네구스
  • 전체
    오늘
    어제
    • 분류 전체보기 (174)
      • Kotlin (0)
      • 시큐리티 (0)
        • 개발자 유미 (0)
      • 배포 (4)
      • 회고 (0)
      • Algorithm (143)
        • 프로그래머스 코딩테스트 문제풀이전략 (37)
        • 백준 (66)
        • 프로그래머스 (18)
        • Leetcode (22)
        • 코테 팁 (0)
      • 프로젝트 (8)
        • WEPIK (3)
        • PICK-O (5)
      • CS (1)
        • 운영체제 (5)
        • 네트워크 (1)
        • 면접스터디 (2)
      • 면접 (0)
        • 코테후기 (0)
        • 면접후기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    N과 M
    `
    백트래킹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
미네구스
즐겨찾기가 가장 많은 식당 정보 출력하기
상단으로

티스토리툴바