노아

[프로그래머스] 서울에 위치한 식당 목록 출력하기 본문

알고리즘/SQL

[프로그래머스] 서울에 위치한 식당 목록 출력하기

Noaahhh 2024. 9. 18. 23:50

 

Question

 

REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.

 

 

Pseudocode

 

 

  1. REST_INFO 테이블(I)과 REST_REVIEW 테이블(R)을 REST_ID로 조인.
  2. ADDRESS가 '서울%'로 시작하는 레스토랑을 필터링.
  3. REST_NAME별로 그룹화하여, 각 레스토랑의 평균 리뷰 점수(REVIEW_SCORE)를 계산하고, 이를 소수점 둘째 자리까지 반올림하여 SCORE로 표시.
  4. REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS와 계산된 SCORE를 선택.
  5. SCORE를 기준으로 내림차순 정렬하고, FAVORITES를 기준으로 내림차순으로 추가 정렬하여 결과를 반환.

 

 

 

Code

 

SELECT R.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, ROUND(AVG(REVIEW_SCORE), 2) AS SCORE
FROM REST_INFO I JOIN REST_REVIEW R
ON I.REST_ID = R.REST_ID
WHERE ADDRESS LIKE '서울%'
GROUP BY REST_NAME
ORDER BY SCORE DESC, FAVORITES DESC