https://school.programmers.co.kr/learn/courses/30/lessons/131124 문제
WITH ct AS(
SELECT MEMBER_ID,
DENSE_RANK() OVER(ORDER BY COUNT(MEMBER_ID) DESC) AS rk
FROM REST_REVIEW
GROUP BY MEMBER_ID)
SELECT M.MEMBER_NAME,REVIEW_TEXT,
DATE_FORMAT(REVIEW_DATE,'%Y-%m-%d') REVIEW_DATE
FROM MEMBER_PROFILE AS M
INNER JOIN ct AS C ON C.MEMBER_ID=M.MEMBER_ID
INNER JOIN REST_REVIEW AS R ON M.MEMBER_ID=R.MEMBER_ID
WHERE rk=1
ORDER BY REVIEW_DATE,REVIEW_TEXT
DENSE_RANK 윈도우 함수를 활용하여 리뷰 작성 개수가 가장 많은 회원 중 리뷰 개수가 같은 회원도 중복하여 출력 가능하도록 하였고, JOIN을 활용하여 MEMBER_NAME과 REVIEW_TEXT 또한 출력하도록 하였다.
//처음에 MEMBER_ID 말고 REST_ID로 개수를 세서 시간을 많이 잡아먹어서 문제를 이해하는 게 중요하다고 생각이 들었다.