250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- join
- SQL테스트
- 서브쿼리
- with절
- UNION
- 문풀
- SQL고득점KIT
- levle1
- GROUPBY
- 리트코드sql
- 위키독스
- 파이썬
- SQL
- 활성사용자수
- 프로그래머스문풀
- leetcodesql50
- 코딩테스트
- 윈도우함수
- mysql
- leetcode
- 데이터리안
- 프로그래머스
- 파이썬문풀
- leetcode문풀
- With
- 데이터분석
- 코테
- 약수구하기
- 셀프조인
- sql문풀
Archives
- Today
- Total
꿈은 데이터분석가, 취미는 계획
[MY SQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회 본문
728x90
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
링크: https://school.programmers.co.kr/learn/courses/30/lessons/164671
문제(일부): 고객정보 테이블과 고객리뷰테이블에서 주문이 가장 많은 회원의 리뷰정보 불러오기
WITH절 활용하기
1) WITH절에서 VIEW가 MAX인 BOARD_ID찾기
=> GROUP BY(BOARD_ID) 후 VIEW를 기준으로 내림차순하여 LIMI 1을 해야한다
SELECT MAX(VIEWS), BOARD_ID를 하는 경우 VIEW는 MAX값이지만 BOARD_ID는 매칭되지 않는다
2) 메인쿼리의 WHERE절에서 WITH절의 BOARD_ID와 일치하는 첨부파일을 조회
WITH MAX_VIEW AS(SELECT BOARD_ID
,MAX(VIEWS) AS MAX_VIEW
FROM USED_GOODS_BOARD
GROUP BY BOARD_ID
ORDER BY MAX_VIEW DESC
LIMIT 1)
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 MAX_VIEW)
ORDER BY FILE_ID DESC
728x90
'SQL > sql문풀' 카테고리의 다른 글
[MY SQL] 대장균의 자식의 수 구하기(SELF JOIN, 서브쿼리, WITH절 사용방법) (0) | 2024.07.28 |
---|---|
[MY SQL] 2개를 모두 담은 ID찾기(우유와 요거트가 담긴 장바구니) (0) | 2024.07.26 |
[MY SQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.07.26 |
[MY SQL] DATEDIFF와 TIMESTAMPDIFF 차이(날짜차이 구하기) (0) | 2024.07.21 |
[MY SQL] 세대별로 자식 수가 없는 개체 찾기 (0) | 2024.05.08 |