728x90
❓ Question
❗ Answer
SELECT info.rest_id, info.rest_name, info.food_type, info.favorites, info.address,
ROUND(AVG(review.review_score),2) score
FROM rest_info info
INNER JOIN rest_review review
ON info.rest_id = review.rest_id
WHERE info.address LIKE '서울%'
GROUP BY rest_id
ORDER BY score DESC, info.favorites DESC;
📌 Discussion
- WHERE 문에서 join을 시키고 조건을 달아준 뒤
- 집계를 위해서 group by를 해주고, ROUND로 반올림해줌
- null이 있는 레코드의 avg를 구하면 값이 나오지 않음(연산 진행 불가)
'SQL 문제풀이' 카테고리의 다른 글
[프로그래머스 SQL] LV.3 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2023.08.06 |
---|---|
[프로그래머스 SQL] LV.4 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2023.08.06 |
[프로그래머스 SQL] LV.2 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.08.06 |
[프로그래머스 SQL] LV.1 특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2023.08.05 |
[프로그래머스 SQL] LV.3 조건에 맞는 사용자 정보 조회하기 (0) | 2023.08.05 |