Closed
Description
💬 문제
https://school.programmers.co.kr/learn/courses/30/lessons/13111
💬 Idea
- REST_ID를 기준으로 JOIN을 해준다.
- ADDRESS가 서울로 시작하는 것으로 필터링한다.
- 리뷰값의 평균값을 구하기 위해 REST_ID로 그룹핑한다.
- 결과는 평균점수를 기준으로 내림차순 정렬하고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬한다.
💬 풀이
SELECT ri.REST_ID, ri.REST_NAME, ri.FOOD_TYPE, ri.FAVORITES, ri.ADDRESS, ROUND(AVG(rr.REVIEW_SCORE), 2) AS SCORE
FROM REST_INFO AS ri INNER JOIN REST_REVIEW AS rr
ON ri.REST_ID = rr.REST_ID
WHERE ri.ADDRESS LIKE "서울%"
GROUP BY ri.REST_ID
ORDER BY SCORE DESC, ri.FAVORITES DESC
💬 알게된 문법
✅ ORDER BY 우선순위 부여
- 정렬 우선순위가 높은 것부터 기재해준다.
✅ 평균값 구하기 (AVG)
- AVG(컬럼명)
✅ 반올림 하기 (ROUND)
- ROUND(값, 자릿수)