티스토리 뷰

728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/131118

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

이번 문제는 LEVEL 4짜리 문제였다.

 

나의 풀이

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 A 
INNER JOIN REST_REVIEW B 
ON A.REST_ID=B.REST_ID 
--WHERE A.ADDRESS LIKE '서울%'
GROUP BY A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES,A.ADDRESS
HAVING A.ADDRESS LIKE '서울%' 
ORDER BY SCORE DESC, A.FAVORITES DESC

 

우선, AVG 때문에 GROUP BY 를 써야 한다는 것은 알고 있었지만 REST_ID만 기준으로 넣으니 오류 발생했음.

REST_ID만 기준으로 삼으려면 서브 쿼리를 사용해야 하는 것 같다.

그래서 다른 기준들도 넣어주니 드디어 먹혔음.

 

또 화가 났던 건! 서울에 위치한 거라서 %서울%로 LIKE 걸어줬는데 이렇게 하면 틀렸다고 계속 나오더라 ㅠㅠ

HAVING 대신 WHERE 절 써서 그런가 했는데 그것 때문은 아니었고, 다른 인터넷 풀이들 그대로 돌려봤는데 다 틀렸다고 나왔었음 ㅠㅠ 

 

뭔가 쉬운듯 어려운듯 한 문제였다 .. ㅠ GROUP BY는 항상 어려웡 .. 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함