티스토리 뷰
오라클 페이징 쿼리 원리
select a.*
from(
select row_number() over(order by app asc) as r_num
,count(*) over () as totcount
,(row_number() over (order by app desc)) page0
,(row_number() over (order by app desc)-1) / 5 as page1
,floor( (row_number() over(order by app desc)-1) -1 / 5 +1 ) as page0
from table
)a
;
결과:
r_num totcount page0 page1 page
100 100 1 0 1
99 100 2 0.2 1
98 100 3 0.4 1
97 100 4 0.6 1
96 100 5 0.8 1
95 100 6 1 2
94 100 7 1.2 2
93 100 8 1.4 2
92 100 9 1.6 2
91 100 10 1.8 2
90 100 11 2 3
89 100 12 2.2 3
88 100 13 2.4 3
87 100 14 2.6 3
2페이지만 출력한다고 했을때는
select a.*
from(
select row_number() over(order by app asc) as r_num
,count(*) over () as totcount
,(row_number() over (order by app desc)) page0
,(row_number() over (order by app desc)-1) / 5 as page1
,floor( (row_number() over(order by app desc)-1) -1 / 5 +1 ) as page0
from table
)a
where page=2
;
결과:
r_num totcount page0 page1 page
95 100 6 1 2
94 100 7 1.2 2
93 100 8 1.4 2
92 100 9 1.6 2
91 100 10 1.8 2
'자바(Java)' 카테고리의 다른 글
자바 aes 암호화 복호화 (0) | 2018.10.02 |
---|---|
자바 base64 인코딩 디코딩 (0) | 2018.10.02 |
[자바] key 생성 (0) | 2018.10.01 |
[java] dextuploadnx를 이용한 자바 파일 업로드 (0) | 2018.10.01 |
jquery 로딩 이미지 코드 (0) | 2018.09.28 |
- Total
- Today
- Yesterday
- XE
- 문자열
- C언어
- 파이썬
- MySQL
- webix
- Python
- xe애드온
- proc
- 오라클
- 포인터
- XE3
- 파싱
- 이클립스
- 라이믹스 모듈
- EC
- 인포믹스
- xe addon
- ocajp
- 플러터
- esql
- php
- 자바 smtp
- 자바
- 프로씨
- 스크래핑
- JDBC
- ocjap
- C
- KG
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |