设为首页 加入收藏

TOP

给结果集分页
2015-11-21 01:28:56 来源: 作者: 【 】 浏览:0
Tags:结果
为了便于查询网页中的数据,常常要分页显示。如:要求员工表按工资排序后一次只显示5行数据,下次再显示接下来的5行,以下以第二页数据(6到10行)为例进行分页。
?
SQL代码如下:
?
SELECT rn, ename, sal
? FROM (SELECT ROWNUM AS rn, ename, sal
? ? ? ? ? FROM (SELECT ename, sal FROM emp WHERE sal IS NOT NULL ORDER BY sal)
? ? ? ? ?WHERE ROWNUM <= 10)
?WHERE rn >= 6;
?
以上的SQL需要嵌套两次,你也可以先用row_number()生成序号,再过滤,这样就只需要嵌套一次。
?
SELECT rn, ename, sal
? FROM (SELECT ROW_NUMBER() OVER(ORDER BY sal) AS rn, ename, sal
? ? ? ? ? FROM emp
? ? ? ? ?WHERE sal IS NOT NULL)
?WHERE rn BETWEEN 6 AND 10;
?
这个语句比较简单,但因为分页语句的特殊性,在调用PLAN时可能会受到分析函数的影响,有些索引或PLAN(如:first_rows)不能用。所以建议使用第一种分页方式,把第一种分页方式当作模版,然后套用。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Windows2008R2上完全卸载Oracle操.. 下一篇ORACLE数据库异步IO介绍

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: