문제풀이/PROGRAMMERSSCHOOL
GROUP BY - 즐겨찾기가 가장 많은 식당 정보 출력하기
제밍
2022. 11. 9. 14:59
*문제
REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요.
*풀이
1. 음식 종류 별로 가장 즐겨찾기가 많은 경우부터 도출해보게따,,
1-1) 음식종류와 가장 즐겨찾기가 많은 경우를 조회 -- SELECT
1-2) REST_INFO TABLE에서 -- FROM
1-3) 음식 종류 별로 묶어주기 -- GROUP BY
SELECT FOOD_TYPE, MAX(FAVORITES) AS FAVORITES
FROM REST_INFO
GROUP BY FOOD_TYPE ;
SQL문이 이렇게 나온다!! -- > 이 테이블을 A로 칭하고 REST_INFO TABLE은 B로 칭하겠음
이를 바탕으로
2. 최종 정답 도출시키기
2-1) A.음식종류, B.ID , B.식당이름, A.즐겨찾기수 조회하기 --SELECT
2-2) A와 B를 FOOD_TYPE과 FAVORITES를 기준으로 JOIN 시켜주기 -- FROM
2-3) 음식종류를 기준으로 내림차순 하기 -- ORDER BY
*정답*
SELECT A.FOOD_TYPE, B.REST_ID, B.REST_NAME, A.FAVORITES
FROM (SELECT FOOD_TYPE, MAX(FAVORITES) AS FAVORITES FROM REST_INFO
GROUP BY FOOD_TYPE) A JOIN REST_INFO B
ON A.FOOD_TYPE = B.FOOD_TYPE AND A.FAVORITES = B.FAVORITES
ORDER BY A.FOOD_TYPE DESC;
코딩테스트 연습 - 즐겨찾기가 가장 많은 식당 정보 출력하기 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr