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
'[프로그래머스] SQL > 정답 노트' 카테고리의 다른 글
[lv2] 업그레이드 된 아이템 구하기 (0) | 2024.10.18 |
---|---|
[lv2] 재구매가 일어난 상품과 회원 리스트 구하기 (1) | 2024.10.09 |
[lv3] 저자 별 카테고리 별 매출액 집계하기 (0) | 2024.10.08 |
[lv3] 카테고리 별 도서 판매량 집계하기 (2) | 2024.10.08 |
[lv3] 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2024.10.08 |