
오라클에서 페이징 처리 등을 할때 로우의 순번을 매긴 뒤 정렬을 해줘야 합니다. 이때 ROW_NUMBER() 을 사용하면 쉽게 순번을 매길수 있습니다. # 예제 코드 예제 테이블에서 단순 SELECT 쿼리문했을 때 위와 같은 로우를 보여줍니다. 그리고 저 테이블의 로우를 날짜(REGIST_DT)로 정렬하고 싶습니다. ORDER BY를 사용하여 정렬 할 수 있겠지만 이렇게만 하면 분명 한계가 존재합니다. 페이징 처리를 해야한다고 가정해봅시다. 1, 2, .. 페이지 등이 존재할 것이고, 한 페이지에는 10개의 로우를 보여주고 로우는 날짜를 기준으로 뷰에 뿌려진다고 합시다. 만약 ORDER BY만 사용한다면 1페이지에는 문제 없이 로우값을 뿌릴수 있겠지만, 문제는 2페이지부터 입니다. 2페이지에서 11번째부..

오라클 테이블에 존재하는 레코드들중 최대 seq를 가지는 레코드를 가져오고 싶을때 사용하는 방법입니다. l 예시 아래와 같이 데이터들이 있습니다. 가장 큰 seq인 106의 row를 가져오고 싶습니다. (맨 앞 컬럼이 seq입니다.) SELECT ROWNUM, TEMP.* FROM ( SELECT * FROM TABLE_01 WHERE 1=1 ORDER BY SEQ DESC ) TEMP WHERE 1=1 AND ROWNUM = 1 ORDER BY로 순서를 정한 뒤 ROWNUM을 이용해 가져올 수 있습니다. l 결과 실행 결과 잘 가져온 것을 볼 수 있습니다. 읽어주셔서 감사합니다. 질문은 언제나 환영합니다. "난 반드시 백엔드 왕이 될거야"