: 리뷰를 가장 많이 쓴 사용자의 id 만을 리턴하는 임시 테이블을 선언한 뒤,
REST_REVIEW 테이블을 중심으로 임시테이블을 member_id 로 inner join 하여 해당 회원들의 리뷰만을 가져오고,
회원의 이름을 가져오기 위해 MEMBER_PROFILE 테이블을 left join 하였다.
헌데 처음에는 리뷰를 가장 많이 쓴 사용자의 id가 1개인줄 알고, ORDER BY DESC 한다음에 LIMIT 1 하면 되겠지 생각했는데, 막상 돌려보니 3건이 조회되어 고민하다가 서브쿼리를 이용해 COUNT 가 MAX 인 다수의 레코드를 가져올 수 있도록 하였다.WITH MEMBER AS ( SELECT MEMBER_ID FROM ( SELECT MAX(CNT) CNT FROM ( SELECT MEMBER_ID , COUNT(MEMBER_ID) CNT FROM REST_REVIEW GROUP BY MEMBER_ID ORDER BY CNT DESC ) SUB_A ) A INNER JOIN ( SELECT MEMBER_ID , COUNT(MEMBER_ID) CNT FROM REST_REVIEW GROUP BY MEMBER_ID ORDER BY CNT DESC ) B ON A.CNT = B.CNT ) SELECT C.MEMBER_NAME , A.REVIEW_TEXT , DATE_FORMAT(A.REVIEW_DATE, "%Y-%m-%d") REVIEW_DATE FROM REST_REVIEW A INNER JOIN MEMBER B ON A.MEMBER_ID = B.MEMBER_ID LEFT JOIN MEMBER_PROFILE C ON A.MEMBER_ID = C.MEMBER_ID ORDER BY REVIEW_DATE, REVIEW_TEXT;