https://school.programmers.co.kr/learn/courses/30/lessons/164671
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[문제]
USED_GOODS_BOARD와 USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존재합니다.
[나의 풀이]
SELECT
CONCAT('/home/grep/src/',BOARD_ID,'/',FILE_ID,FILE_NAME,FILE_EXT)FILE_PATH
FROM USED_GOODS_FILE
WHERE BOARD_ID = (SELECT BOARD_ID
FROM USED_GOODS_BOARD
WHERE VIEWS = (SELECT MAX(VIEWS)
FROM USED_GOODS_BOARD))
ORDER BY FILE_ID DESC;
[다른 풀이]
SELECT
CONCAT('/home/grep/src/', FILE.BOARD_ID, '/', FILE_ID, FILE_NAME, FILE_EXT) AS FILE_PATH
FROM USED_GOODS_FILE AS FILE
LEFT JOIN USED_GOODS_BOARD AS BOARD
ON FILE.BOARD_ID = BOARD.BOARD_ID
WHERE VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD)
ORDER BY FILE_ID DESC
SELECT CONCAT("/home/grep/src/", B.BOARD_ID, "/", F.FILE_ID, F.FILE_NAME, F.FILE_EXT) AS FILE_PATH
FROM
(
SELECT *
FROM USED_GOODS_BOARD
ORDER BY VIEWS DESC
LIMIT 1
) B
INNER JOIN USED_GOODS_FILE F
ON B.BOARD_ID = F.BOARD_ID
ORDER BY F.FILE_ID DESC
'프로그래머스 > My SQL' 카테고리의 다른 글
물고기 종류 별 대어 찾기 (0) | 2024.12.08 |
---|---|
업그레이드 할 수 없는 아이템 구하기 (0) | 2024.12.07 |
부서별 평균 연봉 조회하기 (0) | 2024.12.04 |
조건에 맞는 사용자 정보 조회하기 (0) | 2024.12.03 |
조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2024.12.02 |