您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
在ORACLE中实现SELECT TOP N的方法
作者:网络转载 发布时间:[ 2014/3/26 11:44:20 ] 推荐标签:SELECT 功能测试 ORACLE

4.抽出按某种方式排序的记录集中的第M条记录开始的X条记录

   3里所讲得仅仅是抽取一条记录的情况,当我们需要抽取多条记录的时候,此时在2中的N的取值应该是在N >= (M + X - 1)这个范围内,当让经济的取值是取等好的时候了的时候了。当然后的抽取条件也不是RECNO = N了,应该是RECNO BETWEEN M AND (M + X - 1)了,所以随之而来的SQL语句则为:

   SELECT列名1...列名nFROM

    (

     SELECT ROWNUM RECNO,列名1...列名nFROM

      (

      SELECT列名1...列名nFROM表名ORDER BY列名1...列名n)

      WHERE ROWNUM <= N(N >= (M + X - 1))

    ORDER BY ROWNUM ASC

      )

     WHERE RECNO BETWEEN M AND (M + X - 1)

   同样以上面的数据为例,则抽取NAME的字母顺的第2条记录开始的3条记录的SQL语句为:

   SELECT ID, NAME FROM

     (

      SELECT ROWNUM RECNO, ID, NAME FROM

        (SELECT * FROM CUSTOMER ORDER BY NAME)

      WHERE ROWNUM <= (2 + 3 - 1)

      ORDER BY ROWNUM ASC

     )

     WHERE RECNO BETWEEN 2 AND (2 + 3 - 1)

    结果如下:

   ID NAME

    05 fifth

    01 first

    04 forth

   以此为基础,再扩展的话,做成存储过程,将开始记录数以及抽取记录数为参数,可以轻松实现分页抽取数据。

  当然了,上面所讲的都是一些基本的,实际应用中往往都没有这么简单,但是不管怎么说,不管复杂的应用总是由这些简单的元素构成,掌握一些基本的方法始终是重要的。

  实际上网上这样的文章比较多,我也只是稍微梳理了一下条理而写的这篇文章。希望能给初学者一些帮助。

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd