select seq, rownum page from (select seq, mod(rownum,10) r
from (select seq from board order by seq desc ) ) where r = 1
create view board_page_v
as select seq, rownum page from (select seq, mod(rownum,10) r
from (select seq from board order by seq desc ) ) where r = 1
SQL> select * from board_page_v;
SEQ PAGE
---------- ----------
27 1
17 2
7 3
select * from (
select * from board
where seq <= ( select seq from board_page_v where page = 1)
order by seq desc )
where rownum <= 10
;
SEQ TITLE
----- -----
27 z
26 z
25 y
24 x
23 w
22 v
21 u
20 t
19 s
18 r
select * from (
select * from board
where seq <= ( select seq from board_page_v where page = 2)
order by seq desc )
where rownum <= 10
/
SEQ TITLE
----- -----
17 q
16 p
15 o
14 n
13 m
12 l
11 k
10 j
9 i
8 h
select * from (
select * from board
where seq <= ( select seq from board_page_v where page = 3)
order by seq desc )
where rownum <= 10
/
SEQ TITLE
----- -----
7 g
6 f
5 e
4 d
3 c
2 b
1 a
제목검색 ( view를 이용하지 않는다. )
제목이 a인 글이 전체 몇페이지 존재하는가?
select seq, rownum page from (select seq, mod(rownum,10) r
from (select seq from board where title = 'a' order by seq desc ) ) where r = 1;
SEQ PAGE
----- ----------
1 1
제목이 a 인 글을 1페이지 만큼 가지고 온다. 10개.
select * from (
select * from board
where seq <= (
select seq from ( select seq, rownum page from (select seq, mod(rownum,10) r
from (select seq from board where title = 'a' order by seq desc ) ) where r = 1 )
where page = 1
)
order by seq desc )
where rownum <= 10
|