如何返回指定行数之间的查询结果?

 
如何返回指定行数之间的查询结果?

    如何返回指定行数之间的查询结果,以实现web记录分页,在Oracle中有许多的方法,这里仅仅列出了4种,希望能对大家有所帮助,大家可以根据不同需要选择下面的script 

1)select ... where rownum < 50 minus select ... where rownum < 30  
    这个方法因为用到了minus操作符,所以速度会受影响。  

2) 
SELECT results.* FROM  
( SELECT t2.*, rownum rownumber FROM  
( SELECT t.* FROM mv_table t WHERE ORDER BY col1) t2) results  
WHERE results.rownumber BETWEEN 30 and 50 ORDER BY col1 

这个方法是从一个论坛上看到的,没有亲自测试过  

3) 
定义cursor x, 2.fetch x a,b,c; loop ...... end loop;  
其中用两个循环变量和一个FLAG变量,分别表示,当前的记录数,属于第几页的, 及第一页面。  
ps;  
j:=to_number(kafyf);  
i:=1;  
open cx;  
loop fetch cx into col1,col2,col3,col4,col5,col6;  
if cx%NOTFOUND then exit; end if;  
    if i>=j then  
htp.tableRowOpen;  
htp.tableData(col1);  
htp.tableData(col2);  
htp.tableData(col4);  
htp.tableData(col5);  
htp.tableData(col6);  
htp.tableData(col3);  
htp.tableRowClose;  
i:=i+1;  
if i=j+10 then l:=1; exit; end if;  
else i:=i+1;  
end if;  
end loop;  
close x;  

该方法是名叫‘淼’的网友写的script,他用到了Oracle web2kit中的OWA_UTIL package。 

4)How can one page forward and backwards through a table? 
Externalize ROWNUM by implementing queries like this:  

SELECT ...  
FROM (SELECT ROWNUM rnum, ... FROM ...)  
WHERE rnum BETWEEN :low AND :high AND rownum <(:high :low + 1);  

    where :low and :high are dynamically generated values depending on which result page the user 
is viewing. Typically, they are used to show "Next 15 matches", "Previous 15 matches" links at the 
bottom of each page.  

时间: 2024-12-31 10:52:11

如何返回指定行数之间的查询结果?的相关文章

续《表扫描与索引扫描返回的行数不一致》

续<表扫描与索引扫描返回的行数不一致> 上篇文章主要介绍了如何从分析表得到的报错,以及trace中的信息,判断表返回的记录与索引返回记录不一致时的处理方式.下面这篇文章则介绍了针对ORA-1499进行问题排查的一些基本方法. OERR: ORA-1499 table/Index Cross Reference Failure - see trace file (文档 ID 1499.1) Error: ORA 1499 Text: table/Index Cross Reference Fai

javascript实现输出指定行数正方形图案的方法_javascript技巧

本文实例讲述了javascript实现输出指定行数正方形图案的方法.分享给大家供大家参考.具体如下: javascript实现输出指定行数的正方形图案:点击生成图案,会有2个提示框,1,输入图案的组成字符,只能是1个字符哦2,输入正方形行数,路过大于10,会设置为10行数 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd

SQL显示指定行数的值(用于排名)

SQL显示指定行数的值(用于排名) select top 23 * from employee where emp_id not in(select top 20 emp_id from employee) order by emp_id

js动态生成指定行数的表格

下面用js实现可以生成用户所需行数的表格. 1.首先在body中填入下列代码,获取用户填入的行数值 1 <table> 2 <tr> 3 <td>动态生成表格</td> 4 <td><input id="Cold" type="text" class="input" size="10" name="Num"/>行</td>

mybatis mysql update 返回影响行数错误

问题描述 mybatis mysql update 返回影响行数错误 数据库有个订单表 有一行数据 order_id=1555(自增主键),有个标记字段order_mark=2 执行语句update t_order set order_mark = 2 where order_id=1555 使用mysql自带的client工具 Query OK 0 rows affected (0.00 sec)Rows matched: 1 Changed: 0 Warnings: 0 使用Navicat

javascript-请问网页中如何用js实现跳转到指定行数?

问题描述 请问网页中如何用js实现跳转到指定行数? 如题,请问如何用js实现点击跳转到相应的网页位置(当前网页的位置,如回到顶部) 是否可以实现跳转到制定div?还是要指定跳转到坐标?求一个实例.谢谢先~ 解决方案 可以跳转到指定锚点 url中添加 url#aaa

mysql mybatis 执行update 返回影响行数错误

问题描述 mysql mybatis 执行update 返回影响行数错误 文章内容在:http://www.oschina.net/question/1244507_250862 我就不再次编辑了 解决方案 kohana返回db影响的行数,mysql影响的行数(delete,update)----------------------

T-SQL 随机返回特定行数据和分页查询

T-SQL 语言相较于标准SQL添加了很多特性,为了提高SQL Server的表现,是有必要深入了解的,面试时一般也会包 含这两个小问题. 首先,是在一个AdventureWorks中Person.Address中随机返回5行信息,可以如下写: SELECT TOP 5 * FROM ( SELECT *,NEWID() as RandomID FROM Person.Address ) t ORDER BY t.RandomID 关键在于调用了内置函数NEWID()生成的随机数,并排序,取前5

表扫描与索引扫描返回的行数不一致

某个应用最近总出现死锁,其中一些是因为报了索引和数据行存在不匹配的问题,MOS中有如下文档可以参考. ORA-1499. Table/Index row count mismatch(文档 ID 563070.1)现象: 使用"validate structure cascade"分析表时报ORA-1499的错误,trace文件中包含"Table/Index row count mismatch"的错误信息.例如: SQL> analyze table tes