노아

[프로그래머스] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 본문

알고리즘/SQL

[프로그래머스] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

Noaahhh 2024. 9. 19. 14:26

 

Question

 

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

 

 

Pseudocode

 

 

  1. USED_GOODS_BOARD 테이블(B)과 USED_GOODS_FILE 테이블(F)을 BOARD_ID로 조인.
  2. 조회수가 가장 높은 게시글(VIEWS가 가장 큰 값인 게시글)을 선택하기 위해 서브쿼리를 사용하여 필터링.
  3. 각 파일의 경로를 /home/grep/src/BOARD_ID/FILE_IDFILE_NAMEFILE_EXT 형식으로 결합하여 FILE_PATH로 반환.
  4. FILE_ID를 기준으로 내림차순 정렬하여 결과를 반환.

 

 

 

Code

 

SELECT CONCAT('/home/grep/src/', F.BOARD_ID, 
              '/',FILE_ID, FILE_NAME, FILE_EXT) FILE_PATH
FROM USED_GOODS_BOARD B JOIN USED_GOODS_FILE F
ON B.BOARD_ID = F.BOARD_ID
WHERE VIEWS = (select max(VIEWS) from USED_GOODS_BOARD)
ORDER BY FILE_ID DESC