728x90
📚문제
📝풀이
SELECT M.MEMBER_NAME
, R.REVIEW_TEXT
, DATE_FORMAT(R.REVIEW_DATE,'%Y-%m-%d') AS REVIEW_DATE
FROM REST_REVIEW R
INNER JOIN MEMBER_PROFILE M ON R.MEMBER_ID = M.MEMBER_ID
WHERE M.MEMBER_NAME = (SELECT M.MEMBER_NAME
FROM REST_REVIEW R
INNER JOIN MEMBER_PROFILE M ON R.MEMBER_ID = M.MEMBER_ID
GROUP BY M.MEMBER_NAME
ORDER BY COUNT(R.REVIEW_ID) DESC
LIMIT 1)
GROUP BY M.MEMBER_NAME, R.REVIEW_TEXT
ORDER BY R.REVIEW_DATE , R.REVIEW_TEXT
답과 거의 근접했는데 조금 아쉽게 틀렸다
이번 문제처럼 리뷰를 가장 많이 남긴 사람 1명을 반환(단일행 서브쿼리)할 때는
다중행 연산자(IN, ANY등) 대신 단일행 연산자(=,>등)를 써 주어야한다
(그리고 MySQL에서는 아직 다중행 연산자 & LIMIT 함수 사용을 지원하지 않음)
728x90
'SQL > 프로그래머스 SQL 고득점 kit' 카테고리의 다른 글
SQL 고득점 Kit / 자동차 대여 기록에서 장기/단기 대여 구분하기 / MySQL(DATEDIFF 함수) (0) | 2023.11.14 |
---|---|
SQL 고득점 Kit / 상품을 구매한 회원 비율 구하기 / MySQL (0) | 2023.11.08 |
SQL 고득점 Kit / 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 - MySQL (WHERE절 서브쿼리) (0) | 2023.11.02 |
SQL 고득점 Kit / 주문량이 많은 아이스크림들 조회하기 - MySQL (0) | 2023.11.02 |
SQL 고득점 Kit / 가격대 별 상품 개수 구하기 / MySQL (0) | 2023.10.31 |