반응형
조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
테이블 : USED_GOODS_BOARD
[프로그래머스] 테이블 USED_GOODS_BOARD
테이블 USED_GOODS_BOARD 중고거래 게시판 정보 Column name Type Nullable Description Example BOARD_ID VARCHAR(5) False 게시글 ID 'B0007' WRITER_ID VARCHAR(50) False 작성자 ID 's2s2123' TITLE VARCHAR(100) False 게시글 제목 '커피글라
komishs.tistory.com
테이블 : USED_GOODS_FILE
[프로그래머스] 테이블 USED_GOODS_FILE
테이블 USED_GOODS_FILE 중고거래 게시판 첨부파일 정보 Column name Type Nullable Description Example FILE_ID VARCHAR(10) False 파일 ID IMG_000001 FILE_EXT VARCHAR(5) False 파일 확장자 .jpg FILE_NAME VARCHAR(256) False 파일 이름 ph
komishs.tistory.com
문제
예시
(예시는 문제와 다르게 FILE_ID기준 오름차순 정렬되어 있지만, 정답은 FILE_ID 기준 내림차순 정렬해야 함)
반응형
최종구현
- 조건 : VIEWS가 최댓값인 BOARD_ID의 모든 첨부파일 경로 조회
- 하나의 게시물(BOARD_ID)에 여러 첨부파일(FILE_ID)이 존재할 수 있음
- 1) VIEWS가 최댓값인 BOARD_ID(1개) 조회
- USED_GOODS_BOARD를 VIEWS 기준 내림차순 정렬
- 맨 앞 1개 데이터의 BOARD_ID 조회 --> x.BOARD_ID
- 2) 1)에서 찾은 BOARD_ID의 첨부파일에 대하여 경로 출력
- USED_GOODS_FILE의 BOARD_ID가 1)에서 찾은 x.BOARD_ID와 일치하는 데이터 조회
- 정렬 : FILE_ID(내림차순)
- 출력 : FILE_PATH
- "/home/grep/src/[BOARD_ID]/[FILE_ID][FILE_NAME][FILE_EXT]" 형태로 출력
- CONCAT("", "", ...)으로 연결하여 출력
- 컬럼명은 FILE_PATH로 설정
제출 코드
SELECT CONCAT('/home/grep/src/',file.BOARD_ID,'/',file.FILE_ID,file.FILE_NAME,file.FILE_EXT)
as FILE_PATH
FROM USED_GOODS_FILE as file,
(SELECT BOARD_ID FROM USED_GOODS_BOARD ORDER BY VIEWS desc LIMIT 1) as x
WHERE file.BOARD_ID=x.BOARD_ID
ORDER BY file.FILE_ID desc
;
반응형
'코딩테스트 연습 > 프로그래머스(mySQL)' 카테고리의 다른 글
[프로그래머스](Lv.2) 자동차 평균 대여 기간 구하기 (0) | 2023.05.30 |
---|---|
[프로그래머스](Lv.3) 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2023.05.30 |
[프로그래머스](Lv.3) 조건에 맞는 사용자 정보 조회하기 (0) | 2023.05.30 |
[프로그래머스](Lv.2) 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.05.29 |
[프로그래머스](Lv.2) 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.05.28 |