REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.
/* 식당 정보 : REST_INFO 식당 리뷰 : REST_REVIEW */ select I.REST_ID ,I.REST_NAME ,I.FOOD_TYPE ,I.FAVORITES ,I.ADDRESS ,round(avg(R.REVIEW_SCORE), 2) as SCORE from REST_INFO as I, REST_REVIEW as R where 1=1 and I.REST_ID = R.REST_ID and I.ADDRESS like '서울%' group by REST_ID order by SCORE desc, I.FAVORITES desc
Select문에 집계함수를 사용하면 1개의 행값만을 출력/조회한다.
여기서 출력/조회된 행의 각 칼럼값은 집계값과 상관이 없다.
각 행에 맞는 집계값을 찾고 싶은 경우에는 Group by 문을 사용해야 한다.
문제 자체는 어렵지 않지만, 실수하지 않게 조심해야겠다 :)
https://school.programmers.co.kr/learn/courses/30/lessons/131118