코드카타_260225

3eo·2026년 2월 25일

문제링크 :

https://school.programmers.co.kr/learn/courses/30/lessons/164671
USED_GOODS_BOARD와 USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존재합니다.

정답코드 :

오류상황 :

해결 :

  • 조회수(VIEWS)가 가장 큰 게시글의 BOARD_ID 찾기
  • 그 BOARD_ID에 달린 첨부파일 경로(FILE_PATH) 문자열을 규칙대로 만들어 출력 (+ FILE_ID 내림차순 정렬)

가장 조회수 높은 게시글은 1개만 존재한다.

출력해야 하는 FILE_PATH 형식이 있고, 그 형식은 다음과 같다.

/home/grep/src/ + BOARD_ID + / + FILE_ID + FILE_NAME + FILE_EXT

--> 최고 조회수 게시글의 BOARD_ID를 서브쿼리로 1개 뽑고, FILE 테이블에서 그 BOARD_ID만 골라 경로를 CONCAT으로 만들기 !

문자열 합치기 : CONCAT()

SELECT
    CONCAT('/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 = (
    SELECT b.BOARD_ID
    FROM USED_GOODS_BOARD b
    ORDER BY b.VIEWS DESC
    LIMIT 1
)
ORDER BY f.FILE_ID DESC;

0개의 댓글