본문 바로가기
개념 공부/SQL

[SQL / 프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기

by clean01 2024. 10. 18.

https://school.programmers.co.kr/learn/courses/30/lessons/131124

 

프로그래머스

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

programmers.co.kr

 

WHERE 절에 서브 쿼리를 써서 해결했습니다.

 

 

1. 가장 리뷰를 많이 쓴 회원 아이디 찾기

REST_REVIEW 테이블에서 가장 리뷰를 많이 작성한 회원을 찾아줍니다.

해당 쿼리는 아래와 같습니다.

 

SELECT MEMBER_ID
FROM REST_REVIEW
GROUP BY MEMBER_ID
ORDER BY COUNT(*) DESC LIMIT 1;

 

 

2. 가장 리뷰를 많이 쓴 회원의 리뷰 내용 출력

위에서 작성한 쿼리를 WHERE절에 서브쿼리로 넣어 답을 출력합니다.

SELECT m.MEMBER_NAME AS MEMBER_NAME,
r.REVIEW_TEXT AS REVIEW_TEXT,
DATE_FORMAT(r.REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE
FROM MEMBER_PROFILE AS m
JOIN REST_REVIEW AS r ON m.MEMBER_ID = r.MEMBER_ID
WHERE m.MEMBER_ID = (SELECT MEMBER_ID FROM REST_REVIEW GROUP BY MEMBER_ID ORDER BY COUNT(*) DESC LIMIT 1)
ORDER BY r.REVIEW_DATE, r.REVIEW_TEXT;