링크 : https://school.programmers.co.kr/learn/courses/30/lessons/164671
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
- 소요시간 : 17분 46
- 설계하기(접근방법)
1. 요구 사항 정리
1) 최고 조회수 게시물
의 정보를 찾기 위해서 MAX(VIEWS) 를
서브쿼리로 받아서 VIEWS 비교연산자에 넣어준다
WHERW VIEWS = (SELECT MAX(VIEWS) FROM USED_GOODS_BOARD))
2. 출력
컬럼
1) 파일경로
/home/grep/src/ +
/B.BOARD_ID +
/F.FILE_ID + F.FILE_NAME + F.FILE_EXT
를 위해서는 먼저 JOIN을 해야한다
그 후 CONCAT 함수를 통해 다 더해준다
추가 처리
1) FILE_ID로 내림차순
- 코드(출력)
SELECT CONCAT('/home/grep/src/', B.BOARD_ID,'/',F.FILE_ID,F.FILE_NAME, F.FILE_EXT) AS FILE_PATH
FROM USED_GOODS_BOARD AS B
LEFT JOIN USED_GOODS_FILE AS F
ON B.BOARD_ID = F.BOARD_ID
WHERE VIEWS = (SELECT MAX(VIEWS)
FROM USED_GOODS_BOARD)
ORDER BY F.FILE_ID DESC
- 얻어갈 부분
1. CONCAT 함수를 배웠다. 중간에 문자열도 들어갈 수 있고, 정수와 날짜에 대해서 알아서 문자열로 변환하여 처리해준다
2. NULL값이 있는 경우 CONCAT은 전부 NULL로 반환하는데 CONCAT_WS를 사용하면 무시하고 처리해준다
'SQL' 카테고리의 다른 글
[SQL/GROUP BY] 조건에 맞는 사용자와 총 거래금액 조회하기 - 프로그래머스 (0) | 2024.02.13 |
---|---|
[SQL/String, Date] 조건에 맞는 사용자 정보 조회하기 - 프로그래머스 (0) | 2024.02.13 |
[SQL/JOIN] 조건에 맞는 도서와 저자 리스트 출력하기 - 프로그래머스 (0) | 2024.02.13 |
[SQL/JOIN] 상품 별 오프라인 매출 구하기 - 프로그래머스 (0) | 2024.02.13 |
[SQL/STRING, DATE] 루시와 엘라 찾기 - 프로그래머스 (0) | 2024.02.13 |