오답쿼리
/*
1.
이름, 텍스트, 작성일
MEMBER_ID
2. 리뷰를 가장 많이 작성한회원의 리뷰
3. 리뷰작성일, 리뷰텍스트
*/
WITH most AS(
SELECT DISTINCT MEMBER_ID
,COUNT(*) AS number
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY number DESC
LIMIT 3
)
SELECT m.MEMBER_NAME MEMBER_NAME
,r.REVIEW_TEXT REVIEW_TEXT
,DATE_FORMAT(r.REVIEW_DATE, "%Y-%m-%d") REVEIW_DATE
FROM MEMBER_PROFILE m
INNER JOIN REST_REVIEW r
ON m.MEMBER_ID = r.MEMBER_ID
WHERE m.MEMBER_ID IN (SELECT MEMBER_ID FROM most)
ORDER BY REVEIW_DATE, REVIEW_TEXT
정답쿼리
WITH most AS(
SELECT DISTINCT MEMBER_ID
,COUNT(*) AS number
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY number DESC
LIMIT 1
)
SELECT m.MEMBER_NAME MEMBER_NAME
,r.REVIEW_TEXT REVIEW_TEXT
,DATE_FORMAT(r.REVIEW_DATE, "%Y-%m-%d") REVEIW_DATE
FROM MEMBER_PROFILE m
INNER JOIN REST_REVIEW r
ON m.MEMBER_ID = r.MEMBER_ID
WHERE m.MEMBER_ID IN (SELECT MEMBER_ID FROM most)
ORDER BY REVEIW_DATE, REVIEW_TEXT
오답노트
이 문제는 질문답변 보니까 복수정답이라고 하는데
나는 가장 리뷰를 많이 작성한 사람이 3명인데
LIMIT 3했을 때는 오답인데 LIMIT 1 으로 하면 정답이었다.
https://school.programmers.co.kr/learn/courses/30/lessons/131124
'데이터분석 공부하기 > 프로그래머스 SQL 고득점 키트' 카테고리의 다른 글
★[String,DATE / level4] 자동차 대여 기록 별 대여 금액 구하기 (0) | 2023.03.04 |
---|---|
[IS NULL / leve1 ]이름이 없는 동물의 아이디 (0) | 2023.03.04 |
★[GROUP BY / LEVEL 4] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2023.03.04 |
[SUM,MAX,MIN_leve2] 최솟값 구하기 (0) | 2023.02.28 |
[SUM,MAX,MIN_level1] 최댓값 구하기 (0) | 2023.02.28 |