본문 바로가기

SQL/프로그래머스

SQL 프로그래머스_6일차_2 ROUND(AVG()), JOIN , GROUP BY , 정규화(REGEXP)

서울에 위치한 식당 목록 출력하기

 

 

문제

REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요.

 

테이블 설명

 

문제 예제

 

정답 코드

- GROUP으로 하기 전에 서울만 REGEXP로 서울로 시작하는 단어만 조회

그룹으로 묶은 후 그룹별 평균값을 만들었다

SELECT A.REST_ID,REST_NAME,FOOD_TYPE,FAVORITES,ADDRESS,ROUND(AVG(REVIEW_SCORE),2) AS SCORE
FROM REST_INFO A  JOIN REST_REVIEW B
ON A.REST_ID= B.REST_ID
WHERE ADDRESS REGEXP '^서울'
GROUP BY A.REST_ID
ORDER BY SCORE DESC , FAVORITES DESC