本來(lái)是要和前一篇
JDBC分頁(yè)示例(Oracle數(shù)據(jù)庫(kù))
寫(xiě)在一起的,擔(dān)心貼不上故而分開(kāi)了。
做個(gè)小廣告,以下的圖就是從本人開(kāi)發(fā)的免費(fèi)工具
SqlToolBox中截取來(lái)的,大家有興趣可以試用一下。
一.Account表建表語(yǔ)句。
create table Account(
ID VARCHAR2(255) not null primary key,
count number(10,2),
tid VARCHAR2(255),
userid VARCHAR2(255),
addTime VARCHAR2(255)
)
二.Account表所有數(shù)據(jù).
三.完整的執(zhí)行分頁(yè)查詢的SQL語(yǔ)句.
Select
*
from
(
Select
t01.*,
rownum as newRowNum
from
(
Select
*
from
Account
where
count >='0' and
count <='999999' and
userid='18567' order by addTime
) t01
where
rownum<='10'
)
where
newRowNum>'0'
以上整形效果由SqlToolBox完成.
查詢出的結(jié)果:
四.最內(nèi)層子查詢語(yǔ)句.
這一次查詢目的是找出符合條件的記錄并排序.這是查詢的關(guān)鍵部分,你要修改成你的查詢代碼就修改這部分內(nèi)容。
SQL語(yǔ)句如下:
Select
*
from
Account
where
count >='0' and
count <='999999' and
userid='18567' order by addTime
結(jié)果如下:
五.第二層子查詢
這一層子查詢的主要目的是用rownum給上面的記錄加上行號(hào),這是為最外層子查詢做準(zhǔn)備的.
SQl語(yǔ)句:
Select
t01.*,
rownum as newRowNum
from
(
Select
*
from
Account
where
count >='0' and
count <='999999' and
userid='18567' order by addTime
) t01
查詢結(jié)果,大家可以看到右邊比第四步結(jié)果圖多出來(lái)一列(newRowNum這一列).
六.最后的查詢.
前面的查詢已經(jīng)出來(lái)符合條件的,排完序的,有行號(hào)的結(jié)果集,接下來(lái)對(duì)行區(qū)間進(jìn)行限制就可以了,也就是指定newRowNum的范圍,這樣出來(lái)的就是分頁(yè)的結(jié)果.
以上.