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

2024. 1. 8. 16:00Coding/프로그래머스-SQL

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/164671

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

 

코드

-- 코드를 입력하세요
SELECT CONCAT('/home/grep/src/', UGF.BOARD_ID, '/', UGF.FILE_ID, UGF.FILE_NAME, UGF.FILE_EXT) AS FILE_PATH
FROM USED_GOODS_BOARD AS UGB JOIN USED_GOODS_FILE AS UGF ON UGB.BOARD_ID = UGF.BOARD_ID
WHERE VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD)
ORDER BY UGF.FILE_ID DESC;

1. 파일 경로를 합치는 게 좀 힘들었는데, CONCAT() 함수는 문자열 결합 함수이므로 이를 적절하게 이용하면 문제의 포맷과 맞출 수 있다. 

2. WHERE 절에는 집계 함수를 사용할 수 없으므로 WHERE 절에 최대 조회수를 가진 칼럼을 출력하는 서브 쿼리를 생성한다. 그리고 이와 일치하는 조회수가 쿼리를 통해 출력되도록 WHERE 절을 구성한다.