Notice
Recent Posts
Recent Comments
Archives
반응형
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Total
01-09 21:22
250x250
관리 메뉴

꿈꾸는 개발자의 블로그

[프로그래머스] Oracle - (SQL 고득점 Kit) GROUP BY 즐겨찾기가 가장 많은 식당 정보 출력하기 본문

Algorithm/Programmers

[프로그래머스] Oracle - (SQL 고득점 Kit) GROUP BY 즐겨찾기가 가장 많은 식당 정보 출력하기

aldrn29 2023. 2. 21. 13:14

문제

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

 

문제 풀이

  1. 음식종류별로 조회하기 위하여 GROUP BY로 묶는다.
  2. 즐겨찾기수가 가장 많은 식당을 구하기 위하여 max 함수로 조회한다.
  3. 음식종류별 즐겨찾기수가 가장 많은 식당만 뽑아낸 서브쿼리와 기존 쿼리를 JOIN하여 ID, 식당 이름을 조회한다.

 

전체 코드

SELECT a.FOOD_TYPE, a.REST_ID, a.REST_NAME, a.FAVORITES
FROM REST_INFO a JOIN (
    SELECT FOOD_TYPE, max(FAVORITES) AS FAVORITES
    FROM REST_INFO 
    GROUP BY FOOD_TYPE
) b ON a.FOOD_TYPE = b.FOOD_TYPE AND a.FAVORITES = b.FAVORITES 
ORDER BY 1 DESC

 

728x90
728x90
Comments