# 각 멤버 별로 몇 번의 리뷰를 남겼는지 확인하기, 상위 1명만 출력
WITH ReviewCounts AS (
SELECT MEMBER_ID, COUNT(MEMBER_ID) AS membercount
FROM hardy-aleph-464902-v8.modulabs.ex4_review
GROUP BY MEMBER_ID
ORDER BY membercount DESC
LIMIT 1
)
# r 데이터와 m 데이터 JOIN
# 그 데이터를 ReviewCounts와 JOIN. 가장 많은 리뷰를 남긴 KEVIN만 남음
# 리뷰 작성일을 기준으로 오름차순 정렬
SELECT MEMBER_NAME, REVIEW_TEXT, REVIEW_DATE
FROM hardy-aleph-464902-v8.modulabs.ex4_review AS r
JOIN hardy-aleph-464902-v8.modulabs.ex4_member AS m
ON r.MEMBER_ID = m.MEMBER_ID
JOIN ReviewCounts AS rc
ON r.MEMBER_ID = rc.MEMBER_ID
ORDER BY r.REVIEW_DATE
SELECT MEMBER_NAME,REVIEW_TEXT, REVIEW_DATE
FROM hardy-aleph-464902-v8.modulabs.ex4_review AS r
JOIN hardy-aleph-464902-v8.modulabs.ex4_member AS m
ON r.MEMBER_ID = m.MEMBER_ID
JOIN (
SELECT MEMBER_ID, COUNT(MEMBER_ID) AS membercount
FROM hardy-aleph-464902-v8.modulabs.ex4_member
GROUP BY MEMBER_ID
ORDER BY membercount DESC
LIMIT 1
) AS rc
ON r.MEMBER_ID = rc.MEMBER_ID
ORDER BY r.REVIEW_DATE
WITH 구문과 서브쿼리 방식의 차이