📦 문제
📦 문제 풀이
리뷰를 가장 많이 작성한 회원을 가장먼저 구해야 겠다 싶어서 GROUP BY를 사용하여 쿼리 작성
SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
회원 중 가장 많이 리뷰를 작성한 사람을 찾아야했기 때문에 GROUP BY에서 필터링 할 때 사용하는 HAVING을 이용, 리뷰를 가장 많이 쓴 횟수를 조회하는 SELECT문을 생성하여 조회 후 MEMBER_ID만 조회
SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
HAVING COUNT(REVIEW_TEXT) = (SELECT MAX(COUNT(MEMBER_ID))
FROM REST_REVIEW
GROUP BY MEMBER_ID)
방금전 값을 구한 MEMBER_ID를 IN조회문에 넣고 나머지 SELECT 조건대로 값을 구해주기.
SELECT A.MEMBER_NAME, B.REVIEW_TEXT, TO_CHAR(B.REVIEW_DATE, 'yyyy-mm-dd' )
FROM MEMBER_PROFILE A,
REST_REVIEW B
WHERE A.MEMBER_ID = B.MEMBER_ID
AND B.MEMBER_ID IN (리뷰를 가장 많이 쓴 MEMBER_ID쿼리)
ORDER BY A.MEMBER_NAME, B.REVIEW_DATE
전체 코드
SELECT A.MEMBER_NAME, B.REVIEW_TEXT, TO_CHAR(B.REVIEW_DATE, 'yyyy-mm-dd' )
FROM MEMBER_PROFILE A,
REST_REVIEW B
WHERE A.MEMBER_ID = B.MEMBER_ID
AND B.MEMBER_ID IN (SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
HAVING COUNT(REVIEW_TEXT) = (SELECT MAX(COUNT(MEMBER_ID))
FROM REST_REVIEW
GROUP BY MEMBER_ID)
)
ORDER BY A.MEMBER_NAME, B.REVIEW_DATE
'Algorithm > 프로그래머스' 카테고리의 다른 글
[programmers] 최소직사각형 (1) | 2023.05.17 |
---|---|
[프로그래머스] 같은 숫자는 싫어(12906) (0) | 2023.03.10 |
[프로그래머스][이해못함] 시소 짝궁 (0) | 2023.01.20 |
[Programmers] 없는 숫자 더하기 (0) | 2022.07.22 |
[Programmers] 03 3진법 뒤집기 (0) | 2022.07.17 |