zoukankan      html  css  js  c++  java
  • 给结果集分页

    为了便于查询网页中的数据,常常要分页显示。如:要求员工表按工资排序后一次只显示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)不能用。所以建议使用第一种分页方式,把第一种分页方式当作模版,然后套用。

  • 相关阅读:
    如何封装一个Ajax函数
    了解Ajax及Ajax如何发送请求
    jQuery的animate动画方法及动画排队问题解决
    jQuery的几种显示隐藏方法
    冲鸭!电瓶车
    Qt中使用HTTPS
    空非空
    河西走廊
    “财富自由”者之殇
    说鞋
  • 原文地址:https://www.cnblogs.com/minisculestep/p/4909581.html
Copyright © 2011-2022 走看看