#paging#oracle#tibero
SELECT ROWNUM, A.* FROM TBL A;
※ 원하는 결과를 위해서는 ORDER BY 이후 새롭게 ROWNUM 를 매긴다.
SELECT
ROWNUM, A.*
FROM
(
SELECT * FROM TBL ORDER BY NAME
) A;
※ (문법) ROW_NUMBER() OVER ( [PARTITION BY {그룹할 컬럼들}] ORDER BY {정렬할 컬럼들})
SELECT ROW_NUMBER() OVER(ORDER BY A.NAME, A.AGE) ROW_NUM, A.* FROM TBL A
SELECT
*
FROM (
SELECT
--[ 정렬한 결과에 대한 rownum를 지정한다.]--
row_number() over(order by #{정렬할 컬럼} as rnum
--[ 쿼리내용과 더불어 전체갯수를 취득한다. (full scan << 사용않는게)]--
, count(1) over() as total_cnt
, A.*
FROM MY_TABLE A
WHERE stDt >= to_date('20200101','YYYYMMDD')
AND edDt < to_date('20200201','YYYYMMDD')
)
WHERE rnum BETWEEN 11 AND 20;