SQL 고득점 Kit - 8.5

김동현·2024년 8월 5일

SQL 고득점 Kit

목록 보기
17/56

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

문제

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

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

풀이

## 가장 조회수가 높은 게시글
WITH maxview AS (SELECT b.BOARD_ID
FROM USED_GOODS_BOARD b
WHERE VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD))

SELECT concat('/home/grep/src/',m.BOARD_ID,'/',f.FILE_ID,f.FILE_NAME,f.FILE_EXT) AS FILE_PATH
FROM maxview m
INNER JOIN USED_GOODS_FILE f
ON m.BOARD_ID = f.BOARD_ID
ORDER BY f.FILE_ID DESC

리뷰

  • 문자열을 다루는 함수를 새롭게 알게 되었다. concat은 파이썬에서 데이터 프레임 합칠 때 많이 사용하고 join으로 문자열을 합치는데 sql에서는 join은 concat이고 concat은 join으로 반대로 사용되는 것 같다.

GitHub

https://github.com/lasentia/SQL_Study/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/3/164671.%E2%80%85%EC%A1%B0%ED%9A%8C%EC%88%98%EA%B0%80%E2%80%85%EA%B0%80%EC%9E%A5%E2%80%85%EB%A7%8E%EC%9D%80%E2%80%85%EC%A4%91%EA%B3%A0%EA%B1%B0%EB%9E%98%E2%80%85%EA%B2%8C%EC%8B%9C%ED%8C%90%EC%9D%98%E2%80%85%EC%B2%A8%EB%B6%80%ED%8C%8C%EC%9D%BC%E2%80%85%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0

profile
'The best way to get started is to quit talking and begin doing.'

0개의 댓글