SQL

[오라클] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (문자열연결, ROWNUM)

salmon16 2024. 9. 21. 16:11

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/164671

 

프로그래머스

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

programmers.co.kr

풀이 방법

해결해야 하는 문제

1. SELECT 부분에서 문자열을 연결하기

2. 제일 조회수가 많은 게시글 찾기

 

문자열 연결하기

select 절에서 ||를 사용해 문자열을 연결할 수 있다.

'/home/grep/src/' || F.BOARD_ID || '/' || F.FILE_ID || F.FILE_NAME || F.FILE_EXT

제일 조회수가 많은 게시글 찾기

가장 조회수가 많은 게시글 ID를 찾아야 한다.

FROM절에 서브쿼리를 사용해서 ORDER BY를 한 다음 ROWNUM을 사용한다.

 

SELECT BOARD_ID
    FROM (
        SELECT B.BOARD_ID
        FROM USED_GOODS_BOARD B
        ORDER BY B.VIEWS DESC
    )
    WHERE ROWNUM = 1

 

전체 쿼리

 

SELECT '/home/grep/src/' || F.BOARD_ID || '/' || F.FILE_ID || F.FILE_NAME || F.FILE_EXT AS FILE_PATH
FROM USED_GOODS_FILE F
WHERE F.BOARD_ID IN
(
    SELECT BOARD_ID
    FROM (
        SELECT B.BOARD_ID
        FROM USED_GOODS_BOARD B
        ORDER BY B.VIEWS DESC
    )
    WHERE ROWNUM = 1
)
ORDER BY F.FILE_ID DESC;