이전 이후 순차구하기 0 2 245

by 정우성 순차 [2018.07.06 10:20:23]


이전 이후의 순차를 구해야 되는데요.  

예를들어. 현재순차로 조회를 하면 이전 이후를 구하는 겁니다.   

근대 1,2,3.  이렇게 순차적으로 나가는게 아니라.  

현재 순차가 3으로 조회되서. 이전 이후 회차가 없을 스도 이고

 

1,3. 만 있어서. 3으로 조회하면 이전회차가 1이 나와야 됩니니다. 

 

고수님들 답변 기다리겠습니다.  감사합니다

by 우리집아찌 [2018.07.06 10:29:05]
WITH T AS (
SELECT LEVEL * 2 SEQ FROM DUAL CONNECT BY LEVEL <= 10
)

SELECT SEQ 
    , LAG(SEQ) OVER(ORDER BY ROWNUM) PRE_SEQ
    , LEAD(SEQ) OVER(ORDER BY ROWNUM) NEXT_SEQ
  FROM T

 


by 마농 [2018.07.06 10:41:46]
SELECT seq
     , (SELECT MAX(seq) FROM t WHERE seq < a.seq) seq_pre
     , (SELECT MIN(seq) FROM t WHERE seq > a.seq) seq_next
  FROM t a
 WHERE seq = :v_seq
;

 

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