您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
在ORACLE中實現(xiàn)SELECT TOP N的方法
作者:網絡轉載 發(fā)布時間:[ 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

   以此為基礎,再擴展的話,做成存儲過程,將開始記錄數以及抽取記錄數為參數,可以輕松實現(xiàn)分頁抽取數據。

  當然了,上面所講的都是一些基本的,實際應用中往往都沒有這么簡單,但是不管怎么說,不管復雜的應用總是由這些簡單的元素構成,掌握一些基本的方法始終是重要的。

  實際上網上這樣的文章比較多,我也只是稍微梳理了一下條理而寫的這篇文章。希望能給初學者一些幫助。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd