- [프로그래머스][SQL 고득점 KIT][GROUP BY][Level 3] 즐겨찾기가 가장 많은 식당 정보 출력하기2024년 10월 22일
- 쪼시
- 작성자
- 2024.10.22.:15
반응형https://school.programmers.co.kr/learn/courses/30/lessons/131123
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[프로그래머스][SQL 고득점 KIT][GROUP BY][Level 3] 즐겨찾기가 가장 많은 식당 정보 출력하기
문제 설명
다음은 식당의 정보를 담은 REST_INFO 테이블입니다. REST_INFO 테이블은 다음과 같으며 REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS, TEL은 식당 ID, 식당 이름, 음식 종류, 조회수, 즐겨찾기수, 주차장 유무, 주소, 전화번호를 의미합니다.
* 테이블 생략 *
문제
REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성해주세요. 이때 결과는 음식 종류를 기준으로 내림차순 정렬해주세요.
예시
REST_INFO 테이블이 다음과 같을 때
REST_ID REST_NAME FOOD_TYPE 00001 은돼지식당 한식 00002 하이가쯔네 일식 00003 따띠따띠뜨 양식 00004 스시사카우스 일식 00005 코슌스 일식 SQL을 실행하면 다음과 같이 출력되어야 합니다.
FOOD_TYPE REST_ID REST_NAME FAVORITES 한식 00001 은돼지식당 734 일식 00004 스시사카우스 230 양식 00003 따띠따띠뜨 102
문제 풀이
- 음식종류별로 즐겨찾기수가 가장 많은 식당
- 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성
- 음식 종류를 기준으로 내림차순 정렬
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) GROUP BY FOOD_TYPE ORDER BY FOOD_TYPE DESC
- FOOD_TYPE, REST_ID, REST_NAME, FAVORITES 조회
- FOOD_TYPE, FAVORITES 값을 비교하는데 MAX(FAVORITES)가진 FOOD_TYPE을 조회하기 위해서 서브쿼리 사용
- 음식종류별로 찾기 위해 FOOD_TYPE 기준으로 그룹화
- FOOD_TYPE 기준으로 내림차순 정렬
실행 결과
FOOD_TYPE REST_ID REST_NAME FAVORITES 한식 00001 은돼지식당 734 중식 00015 만정 20 일식 00004 스시사카우스 230 양식 00003 따띠따띠뜨 102 분식 00008 애플우스 151 반응형'코딩 테스트 > SQL' 카테고리의 다른 글
다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)