티스토리 뷰

SQL

MySQL 코딩테스트 - 조회수가 가장 많은 글첨부파일 조회 CONCAT

코드ABC

조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

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

 

 

문제풀이 방법

  1. 두개의 테이블은 inner join으로 연결한다.
  2. 주의점 : order by views desc 와 limit 1을 사용해서 최대 하나만 뽑는 경우에는 최대 views가 같은 게 두개가 있는 경우에도 달랑 한개만 나오므로 주의해야한다. 그래서 서브쿼리 max를 사용해야한다.
  3. 문자간의 연결은 concat('문자1','문자2'...) 를 사용한다.
select concat('/home/grep/src/', b.BOARD_ID,'/',f.FILE_ID,f.FILE_NAME,f.FILE_EXT) 
as FILE_PATH 
from USED_GOODS_BOARD b
inner join USED_GOODS_FILE f on b.BOARD_ID= f.BOARD_ID
where b.views = (select max(VIEWS) from USED_GOODS_BOARD)
order by f.FILE_ID desc
최근에 올라온 글
최근에 달린 댓글
링크