https://school.programmers.co.kr/learn/courses/30/lessons/164671
RANK를 통해 가장높은 조회수를 찾기
CTE 사용
WITH TEMP AS (
SELECT
BOARD_ID,
RANK() OVER(ORDER BY VIEWS DESC) AS RNK
FROM
USED_GOODS_BOARD
)
SELECT
CONCAT('/home/grep/src/', T.BOARD_ID, '/', F.FILE_ID, F.FILE_NAME, F.FILE_EXT) AS 'FILE_PATH'
FROM
TEMP T
JOIN
USED_GOODS_FILE F ON T.BOARD_ID = F.BOARD_ID
WHERE
T.RNK = 1
ORDER BY
FILE_PATH DESC;
SELECT
-- CONCAT 함수로 파일 경로를 만듭니다.
CONCAT('/home/grep/src/', B.BOARD_ID, '/', F.FILE_ID, F.FILE_NAME, F.FILE_EXT) AS FILE_PATH
FROM
-- 파일을 찾기 위해 두 테이블을 JOIN 합니다.
USED_GOODS_BOARD B
JOIN
USED_GOODS_FILE F ON B.BOARD_ID = F.BOARD_ID
WHERE
-- 서브쿼리를 이용해 가장 높은 조회수(VIEWS)를 가진 게시물을 조건으로 겁니다.
B.VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD)
ORDER BY
-- 파일 경로 문자열보다 FILE_ID 숫자 기준으로 정렬하는 것이 더 효율적일 수 있습니다.