오라클 쿼리작성질문.. 0 2 358

by 안쓰 [SQL Query] [2019.08.09 10:26:58]


안녕하세요 초급개발자입니다

질문드리기 앞서 늘 도움주시는분들 감사합니다~!

 

질문드릴 쿼리는

sms 테이블에

sms 코드별로 메시지를 5개씩 추출해내는 쿼리입니다

 

1. SMS 테이블

코드(PK) / 코드명 / 발송내용 / 등록일자

 

2. 출력예시

코드가 100개있다고할때 코드별로 발송내용을 5건씩 조회하고싶습니다

물론 발송내용이 5건이 없을수도 있구요..

1년기간을 조회했을때 가장 최근날짜의 5건을 기준으로 조회하면 될것같은데 어떻게 접근해야할지 모르겠습니다..

 

ex)출력 결과

A코드 발송내용 5건 

B코드 발송내용 5건 

C코드 발송내용 5건 

 

 

읽어주셔서 감사합니다 !!^^

 

 

 

 

 

by 마농 [2019.08.09 10:33:10]
SELECT *
  FROM (SELECT cd, nm, contents, dt
             , ROW_NUMBER() OVER(PARTITION BY cd ORDER BY dt DESC) rn
          FROM sms
        ) a
 WHERE rn <= 5
;

 


by 안쓰 [2019.08.09 17:05:27]

마농님 ! 늘 감사드립니다

근데 혹시 데이터가 1년정도를 잡구 1000만건 정도로 하면

조회자체가 안될거같은데 그럴떄 방법이 있을까요?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입