本来是要和前一篇JDBC分页示例(Oracle数据库) 写在一起的,担心贴不上故而分开了。

做个小广告,以下的图就是从本人开发的免费工具SqlToolBox中截取来的,大家有兴趣可以试用一下。

一.Account表建表语句。
create table Account(
   ID 
VARCHAR2(255not 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的范围,这样出来的就是分页的结果.



以上.

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-02-14 17:54 编辑过
 

博学深思慎言笃行(http://www.blogjava.net)原创,转载请注明出处.