본문 바로가기
Stay Hungry Stay Foolish/SQL

[MYSQL] 그룹별 조건에 맞는 식당 목록 출력하기

by HANNI하니 2023. 7. 27.

사용 언어 - MYSQL

프로그래머스 LV 4) 그룹별 조건에 맞는 식당 목록 출력하기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

정답

WHERE ~ IN (SELECT 절) (정답 맞춘 여부 X

 

각 MEMBER_ID 당 리뷰 개수를 COUNT(*)해서 가장 많이 쓴 리뷰 MAX()를 구한다

가장 많이 쓴 리뷰를 쓴 사람을 MEMBER_ID를 구해준다.

SELECT M.MEMBER_NAME, R.REVIEW_TEXT, DATE_FORMAT(R.REVIEW_DATE, "%Y-%m-%d") REVIEW_DATE
FROM MEMBER_PROFILE AS M JOIN REST_REVIEW AS R
ON M.MEMBER_ID = R.MEMBER_ID
WHERE R.MEMBER_ID IN
    (SELECT MEMBER_ID FROM REST_REVIEW GROUP BY MEMBER_ID HAVING COUNT(*) =
        (SELECT MAX(CNT) FROM
            (SELECT COUNT(*) AS CNT FROM REST_REVIEW GROUP BY MEMBER_ID) A
        )
     )
ORDER BY R.REVIEW_DATE ASC;

 

 

 

레퍼런스

  • 정답 깃허브

codingtest/프로그래머스 MYSQL/그룹별조건에맞는식당목록출력하기.sql at main · yyeongeun/codingtest (github.com)

댓글