728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131124
정답 코드
# 딱 한 명만 뽑음
SELECT MEMBER_NAME, REVIEW_TEXT, DATE_FORMAT(REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE
FROM MEMBER_PROFILE JOIN REST_REVIEW USING(MEMBER_ID)
WHERE MEMBER_ID = (
SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY COUNT(REVIEW_ID) DESC
LIMIT 1
)
ORDER BY REVIEW_DATE, REVIEW_TEXT;
# 가장 많은 인원이 중복인 경우에 모두 뽑음
SELECT P.MEMBER_NAME, R.REVIEW_TEXT, DATE_FORMAT(R.REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE
FROM (SELECT *, COUNT(MEMBER_ID) OVER(PARTITION BY MEMBER_ID) AS COUNT_REVIEW
FROM REST_REVIEW) AS R
JOIN MEMBER_PROFILE AS P
ON R.MEMBER_ID = P.MEMBER_ID
WHERE COUNT_REVIEW = (
SELECT COUNT(MEMBER_ID) OVER(PARTITION BY MEMBER_ID) AS C
FROM REST_REVIEW
ORDER BY C DESC
LIMIT 1)
ORDER BY REVIEW_DATE, REVIEW_TEXT;
728x90
반응형
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[MySQL] 프로그래머스 59042. 있었는데요 없었습니다 (0) | 2024.02.24 |
---|---|
[MySQL] 프로그래머스 59042. 없어진 기록 찾기 (0) | 2024.02.24 |
[MySQL] 프로그래머스 144854. 조건에 맞는 도서와 저자 리스트 출력하기 (0) | 2024.02.23 |
[MySQL] 프로그래머스 131117. 5월 식품들의 총매출 조회하기 (0) | 2024.02.23 |
[MySQL] 프로그래머스 157339. 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2024.02.23 |