본문 바로가기

Algorithm/프로그래머스

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

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

 

프로그래머스

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

programmers.co.kr

 

 

1. 해결방법

1. 두 테이블을 JOIN한다.
2. REST_REVIEW 테이블에서 group by 명령어로 MEMBER_ID를 그룹화 한다.
3. MEMBER_ID을 Count로 개수를 구하고, 내림차순에 limit 1로 가장 큰 값을 구한다.
4. 조건에 맞게 정렬.

 

 

2. 정답코드

select A.MEMBER_NAME, B.REVIEW_TEXT, DATE_FORMAT(B.REVIEW_DATE, '%Y-%m-%d') as REVIEW_DATE
from MEMBER_PROFILE as A
join REST_REVIEW as B
on A.MEMBER_ID = B.MEMBER_ID
where A.MEMBER_ID = (
    select MEMBER_ID
    from REST_REVIEW
    group by MEMBER_ID
    order by count(MEMBER_ID) desc limit 1
)
order by B.REVIEW_DATE asc, B.REVIEW_TEXT asc;