本来是要和前一篇
JDBC分页示例(Oracle数据库)
写在一起的,担心贴不上故而分开了。
做个小广告,以下的图就是从本人开发的免费工具
SqlToolBox中截取来的,大家有兴趣可以试用一下。
一.Account表建表语句。
create table Account(
ID VARCHAR2(255) not null primary key,
count number(10,2),
tid VARCHAR2(255),
userid VARCHAR2(255),
addTime VARCHAR2(255)
)
二.Account表所有数据.
三.完整的执行分页查询的SQL语句.
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完成.
查询出的结果:
四.最内层子查询语句.
这一次查询目的是找出符合条件的记录并排序.这是查询的关键部分,你要修改成你的查询代码就修改这部分内容。
SQL语句如下:
Select
*
from
Account
where
count >='0' and
count <='999999' and
userid='18567' order by addTime
结果如下:
五.第二层子查询
这一层子查询的主要目的是用rownum给上面的记录加上行号,这是为最外层子查询做准备的.
SQl语句:
Select
t01.*,
rownum as newRowNum
from
(
Select
*
from
Account
where
count >='0' and
count <='999999' and
userid='18567' order by addTime
) t01
查询结果,大家可以看到右边比第四步结果图多出来一列(newRowNum这一列).
六.最后的查询.
前面的查询已经出来符合条件的,排完序的,有行号的结果集,接下来对行区间进行限制就可以了,也就是指定newRowNum的范围,这样出来的就是分页的结果.
以上.