_Han_
나의 개발 노트
_Han_
  • 분류 전체보기 (272)
    • 데이터 엔지니어링 (29)
    • 인프라 (3)
    • 추천시스템 (11)
    • 코딩테스트 (146)
    • 부트캠프 회고 (15)
    • 회고 (4)
    • 자격증 (1)
    • 파이썬 프로그래밍 (6)
    • 통계 (2)
    • Git (21)
    • 유니티2D (33)

최근 글

반응형
hELLO · Designed By 정상우.
_Han_

나의 개발 노트

[코딩테스트] 프로그래머스 그룹별 조건에 맞는 식당 목록 출력하기 MySQL
코딩테스트

[코딩테스트] 프로그래머스 그룹별 조건에 맞는 식당 목록 출력하기 MySQL

2022. 12. 10. 21:57
반응형

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

 

프로그래머스

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

programmers.co.kr

SELECT M.MEMBER_NAME, R.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(REVIEW_TEXT) DESC
    LIMIT 1)
ORDER BY REVIEW_DATE, REVIEW_TEXT

먼저 MEMBER_PROFILE 테이블과 REST_REVIEW 테이블을 MEMBER_ID를 기준으로 JOIN 하였고

WHERE 문에서 리뷰를 가장 많이 작성한 회원을 출력하기 위하여 아래의 코드를 작성했습니다.

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

출력의 결과는 다음과 같습니다.

가장 많은 리뷰를 작성한 회원의 ID를 출력합니다.

 

즉 WHERE문에서 조건을 걸어 가장 많은 리뷰를 한 회원의 ID만 가져와

SELECT문에서 해당 회원의 이름, 회원이 작성한 리뷰, 작성 날짜를 포맷에 맞추어 조회합니다.

마지막으로 ORDER BY문에서 리뷰작성일(REVIEW_DATE)를 기준으로 오름차순, 리뷰 텍스트(REVIEW_TEXT)를 기준으로 오름차순 정렬하여 출력합니다.

반응형

'코딩테스트' 카테고리의 다른 글

[코딩테스트] 프로그래머스 짝지어 제거하기 파이썬(Python)  (0) 2022.12.14
[코딩테스트] 프로그래머스 오프라인/온라인 판매 데이터 통합하기 MySQL  (0) 2022.12.12
[코딩테스트] 프로그래머스 입양 시각 구하기(2) MySQL  (0) 2022.12.09
[코딩테스트] 프로그래머스 주문량이 많은 아이스크림들 조회하기  (0) 2022.12.09
[코딩테스트] 프로그래머스 취소되지 않은 진료 예약 조회하기 MySQL  (0) 2022.12.08
    '코딩테스트' 카테고리의 다른 글
    • [코딩테스트] 프로그래머스 짝지어 제거하기 파이썬(Python)
    • [코딩테스트] 프로그래머스 오프라인/온라인 판매 데이터 통합하기 MySQL
    • [코딩테스트] 프로그래머스 입양 시각 구하기(2) MySQL
    • [코딩테스트] 프로그래머스 주문량이 많은 아이스크림들 조회하기
    _Han_
    _Han_
    학습한 것을 기록합니다.

    티스토리툴바