상세 컨텐츠

본문 제목

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

SQL

by R4MeN 2024. 5. 1. 09:13

본문

// SELECT : 최종 출력에 필요하는 속성 정의(ALIAS 사용)

SELECT member_name, review_text, DATE_FORMAT(review_date, '%Y-%m-%d') AS review_date

// FROM : 사용하는 테이블 정의(JOIN 사용)

FROM member_profile JOIN rest_review ON member_profile.member_id = rest_review.member_id

// WHERE : from절의 조건 추가(조건문 사용(IN))

WHERE member_profile.member_id IN(

    // 서브쿼리 1 시작(1등의 ID 찾기)

    SELECT member_id

    FROM (

        // 서브쿼리 2 시작(1등 찾기)

        SELECT member_id, RANK() OVER (ORDER BY COUNT(*) DESC) AS r

        FROM rest_review

        // GROUP BY : 조건별로 테이블을 그룹화

        GROUP BY member_id

        ) 

    WHERE r = 1

    )

// ORDER BY : 1번째 값을 기준으로 정렬, 1번째 값이 같다면 2번째 값을 기준으로 정렬

ORDER BY review_date, review_text



// RANK() OVER : OVER 뒤의 결과의 순위를 메김

// DATE_FORMAT(속성, "%Y-%m-%d") : date의 출력 형식을 YYYY-MM-DD 형식으로 바꿈

'SQL' 카테고리의 다른 글

SQL과 NOSQL의 차이  (1) 2024.05.20
SQL 프로그래머스 이름이 없는 동물의 아이디  (0) 2024.05.12
SQL 프로그래머스 없어진 기록 찾기  (0) 2024.05.10
SQL 코딩테스트  (0) 2024.05.01

관련글 더보기