inblog logo
|
LHS's Study Space
    SQL문제풀기

    [SQL 문제 풀기] 그룹별 조건에 맞는 식당 목록 출력하기(131124)

    lhs's avatar
    lhs
    Feb 12, 2025
    [SQL 문제 풀기] 그룹별 조건에 맞는 식당 목록 출력하기(131124)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/131124
     

    1. 문제 풀이 아이디어

    • WITH 절로 회원별 리뷰 개수를 구하고 DENSE_RANK()로 최다 리뷰 회원을 찾은 후, JOIN을 사용해 필터링하여 문제를 해결한다.

    2. 나의 정답 코드

    WITH counts AS ( SELECT member_id, COUNT(*) AS review_count, DENSE_RANK() OVER (ORDER BY COUNT(*) DESC) AS rnk FROM rest_review GROUP BY member_id ) SELECT m.member_name, r.review_text, LEFT(r.review_date, 10) AS review_date FROM rest_review r JOIN member_profile m ON r.member_id = m.member_id JOIN counts c ON r.member_id = c.member_id WHERE c.rnk = 1 ORDER BY review_date, review_text;

    3. 정리

    • counts CTE에서 GROUP BY로 회원별 리뷰 개수를 구하고 DENSE_RANK()로 최다 리뷰 회원을 찾는다.
    • JOIN을 사용하여 member_profile과 rest_review를 연결하고, 최다 리뷰 회원만 선택한다.
    • ORDER BY로 review_date, review_text 순으로 정렬하여 출력한다.
    Share article
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog