본문으로 바로가기

ROW_NUMBER() 번호 역순으로 매기기

category Database/Oracle 2020. 8. 25. 10:41
select ROW_NUMBER() OVER(ORDER BY 1차 정렬 컬럼(ex. 등록일)) AS rnum,
필요한컬럼 추가(* 안됨) from 테이블명 order by rnum desc

// 예를 들면
select * from employees (select ROW_NUMBER() OVER(ORDER BY hire_date) AS rnum, employee_id,
first_name, last_name, email, phone_number, hire_date, job_id, salary,
commission_pct, manager_id, department_id from employees order by rnum desc) 
where employee_id between 490 and 500

490과 500의 수식은 다음과 같다

int pageNum = 전체 레코드 수 - (뿌려질 로우 수 * 현재페이지);
between pageNum and (pageNum + 뿌려질 로우 수)