728x90
반응형
💬 내가 작성한 SQL 코드
SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES, A.ADDRESS,
ROUND(AVG(B.REVIEW_SCORE), 2) AS SCORE
FROM REST_INFO AS A
INNER JOIN REST_REVIEW AS B
ON A.REST_ID = B.REST_ID
WHERE SUBSTR(ADDRESS, 1, 2) = '서울'
GROUP BY A.REST_ID
ORDER BY SCORE DESC, A.FAVORITES DESC;
# 1. 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회
# 2. 리뷰 평균점수는 소수점 세 번째 자리에서 반올림
# 3. 서울에 위치한 식당들
# 4. 결과는 평균점수를 기준으로 내림차순 정렬
# 5. 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬
해당 문제는 GROUP BY를 사용하는 문제였다.
REST_ID를 기준으로 묶고, REVIEW_SCORE의 평균을 도출하는 문제였다.
확실히 조건을 먼저 작성하고, 코드를 작성하니까 쉬웠다.
728x90
'자료구조 및 알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 상위 n개 레코드 (SQL) (0) | 2024.04.17 |
---|---|
프로그래머스 - 재구매가 일어난 상품과 회원 리스트 구하기 (SQL) (0) | 2024.04.17 |
프로그래머스 - 강원도에 위치한 생산공장 목록 출력하기 (SQL) (0) | 2024.04.17 |
프로그래머스 - 인기있는 아이스크림 (SQL) (0) | 2024.04.17 |
프로그래머스 - 과일로 만든 아이스크림 고르기 (SQL) (0) | 2024.04.17 |