전공/프로그래머스
(SQL) 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
yha97
2023. 10. 7. 11:46
날짜 : 2023. 10. 07
사용 언어 : oracle
문제
코드
-- 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회
-- 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬
-- 기본적인 파일경로는 /home/grep/src/ -> 기본경로/게시글ID/파일ID/파일이름/확장자
-- 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력
SELECT '/home/grep/src/'||B.BOARD_ID||'/'||B.FILE_ID||B.FILE_NAME||B.FILE_EXT AS FILE_PATH
FROM (
SELECT *
FROM (
SELECT *
FROM USED_GOODS_BOARD
ORDER BY VIEWS DESC
)
WHERE ROWNUM < 2) A JOIN
USED_GOODS_FILE B ON A.BOARD_ID = B.BOARD_ID
ORDER BY B.FILE_ID DESC
;
풀이
- 서브쿼리를 사용해 조회수가 가장 많은 중고거래 게시물의 테이블을 추출한다.
- 그 다음 USED_GOODS_FILE 테이블과 조인
- SELECT문에서는 각 조건에 맞추어 문자열을 붙여나간다.
- 마지막에 FILE_ID 내림차순으로 정렬하면 완료
알게된 점
- 리뷰 하나에 여러개의 파일이 있고, 거기서 정렬 조건이 있다는 것을 간과했었다.
참고 사이트
-