[분석] SQL

[프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기

로운's 2024. 4. 23. 09:31

 

 

 

가장 많이 작성한 경우는 3번으로 총 3명이 조회됨

 

그렇다면 아래 쿼리가 맞아야 하는데, 또 틀렸단다 ㅡㅡ

다른 풀이를 찾아보니 order by와 limit을 달아서 단순히 최상위 1명만 추출하던데,

프로그래머스에 리뷰 수가 같을 경우 별도 조건이 붙어 있지 않다.

 

이후 여러가지 테스트를 해보니

최다 리뷰어 3명 중 어느 사람이 들어가도 정답으로 인정된다?!!

 

 

정답

SELECT MEMBER_NAME
     , REVIEW_TEXT
     , DATE_FORMAT(REVIEW_DATE, '%Y-%m-%d') AS "REVIEW_DATE"
FROM REST_REVIEW r
INNER JOIN MEMBER_PROFILE m
ON r.MEMBER_ID = m.MEMBER_ID
WHERE r.MEMBER_ID = (
                     SELECT MEMBER_ID
                     FROM REST_REVIEW
                     GROUP BY MEMBER_ID
                     ORDER BY COUNT(MEMBER_ID) DESC
                     LIMIT 1)
ORDER BY REVIEW_DATE, REVIEW_TEXT