https://school.programmers.co.kr/learn/courses/30/lessons/131118
REST_INFO
와REST_REVIEW
테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.
SELECT A.REST_ID, B.REST_NAME, B.FOOD_TYPE, B.FAVORITES, B.ADDRESS, ROUND(AVG(A.REVIEW_SCORE),2) AS SCORE
FROM REST_REVIEW A
JOIN REST_INFO B ON A.REST_ID = B.REST_ID
GROUP BY A.REST_ID
HAVING B.ADDRESS LIKE '서울%'
ORDER BY SCORE DESC, B.FAVORITES DESC
USING 사용해서 별칭사용 안하고 구현했었는데 결과는 같았지만 오류가 떴다.
GROUP BY A.REST_ID
GROUP BY 절에 포함되지 않은 컬럼은 집계 함수(예: AVG, SUM)나 함수의 일부로 사용되어야 해서 SQL 표준을 준수하지 않아 문제가 발생할 수 있단다.