꿈은 데이터분석가, 취미는 계획

[MY SQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회 본문

SQL/sql문풀

[MY SQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회

data_2080 2024. 7. 26. 09:44
728x90

출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] :  조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

링크: https://school.programmers.co.kr/learn/courses/30/lessons/164671


문제(일부):  고객정보 테이블과 고객리뷰테이블에서 주문이 가장 많은 회원의 리뷰정보 불러오기


WITH절 활용하기

1) WITH절에서 VIEW가 MAX인 BOARD_ID찾기
    => GROUP BY(BOARD_ID) 후 VIEW를 기준으로 내림차순하여 LIMI 1을 해야한다
         SELECT MAX(VIEWS), BOARD_ID를 하는 경우 VIEW는 MAX값이지만 BOARD_ID는 매칭되지 않는다
2) 메인쿼리의 WHERE절에서 WITH절의 BOARD_ID와 일치하는 첨부파일을 조회

WITH MAX_VIEW AS(SELECT BOARD_ID
                    ,MAX(VIEWS) AS MAX_VIEW
                    FROM USED_GOODS_BOARD
                    GROUP BY BOARD_ID
                    ORDER BY MAX_VIEW DESC
                    LIMIT 1)
SELECT CONCAT('/home/grep/src/',BOARD_ID,'/',FILE_ID,FILE_NAME,FILE_EXT) FILE_PATH
FROM USED_GOODS_FILE  
WHERE BOARD_ID = (SELECT BOARD_ID FROM MAX_VIEW)
ORDER BY FILE_ID DESC
728x90