[프로그래머스] SQL/정답 노트

[lv4] 서울에 위치한 식당 목록 출력하기

SH3542 2024. 10. 4. 19:48

https://school.programmers.co.kr/learn/courses/30/lessons/131118

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

 

문제 해석에 두 가지 방향이 있다고 느꼈고, 좀 더 어려운 요구사항으로 착각해 돌아갔다.

 

A방향 (반올림 후 정렬을 수행), B방향 (정렬을 한 우선 순위를 반올림한 결과에 적용)


B로 제출하여 정답을 받았고, 이후 A로 다시 한 번 풀이하였다.
좀 더 많은 문제를 접해봐야겠다고 생각한 계기가 되었다.


수정

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