개발노트

[Oracle] 이전글 다음글 가져오기 본문

SQL

[Oracle] 이전글 다음글 가져오기

smc0210 2016. 12. 23. 13:52

궂이 서비스 단에서 처리 할 필요없이 쿼리만으로 가능하다


위의 레코드(LEAD), 아래 레코드(LAG)


SELECT

        *

FROM (

SELECT MEDIA_SEQ, TITLE, CONTENTS, REG_DATE,

      LEAD(TITLE,1,'다음글') OVER(ORDER BY MEDIA_SEQ) NEXT_TITLE,

      LEAD(MEDIA_SEQ,1) OVER(ORDER BY MEDIA_SEQ) NEXT_MEDIA_SEQ,

      LEAD(REG_DATE,1) OVER(ORDER BY MEDIA_SEQ) NEXT_REG_DATE,

      Lag(TITLE,1,'이전글') OVER(ORDER BY MEDIA_SEQ) PREV_TITLE,

      Lag(MEDIA_SEQ,1) OVER(ORDER BY MEDIA_SEQ) PREV_MEDIA_SEQ,

      Lag(REG_DATE,1) OVER(ORDER BY MEDIA_SEQ) PREV_REG_DATE

FROM TB_MEDIA

   

WHERE MEDIA_SEQ = 23



'SQL' 카테고리의 다른 글

[Oracle] JOIN 표기법  (0) 2017.01.13
[Oracle] 캐릭터셋 확인  (0) 2017.01.10
[Oracle] 조회수 자동 증가  (0) 2016.12.23
[MSSQL] 시퀸스 초기화 (auto_increment)  (0) 2016.11.02
[MySQL] 더미 데이터 만들기  (0) 2016.08.11
Comments