春風博客

          春天里,百花香...

          導航

          <2008年2月>
          272829303112
          3456789
          10111213141516
          17181920212223
          2425262728291
          2345678

          統計

          公告

          MAIL: junglesong@gmail.com
          MSN: junglesong_5@hotmail.com

          Locations of visitors to this page

          常用鏈接

          留言簿(11)

          隨筆分類(224)

          隨筆檔案(126)

          個人軟件下載

          我的其它博客

          我的鄰居們

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          分頁SQL語句分析(Oracle數據庫)

          本來是要和前一篇JDBC分頁示例(Oracle數據庫) 寫在一起的,擔心貼不上故而分開了。

          做個小廣告,以下的圖就是從本人開發的免費工具SqlToolBox中截取來的,大家有興趣可以試用一下。

          一.Account表建表語句。
          create table Account(
             ID 
          VARCHAR2(255not null primary key
             
          count number(10,2),
             tid 
          VARCHAR2(255),
             userid 
          VARCHAR2(255),
             addTime 
          VARCHAR2(255)
          )

          二.Account表所有數據.


          三.完整的執行分頁查詢的SQL語句.
           Select     
                  
          *
           
          from       
                  (
                   
          Select     
                          t01.
          *,
                          rownum 
          as newRowNum
                   
          from       
                          (
                           
          Select     
                                  
          *
                           
          from       
                                  Account
                           
          where     
                                  
          count >='0' and 
                                  
          count <='999999' and 
                                  userid
          ='18567' order by addTime
                          ) t01
                   
          where     
                          rownum
          <='10'
                  )
           
          where     
                  newRowNum
          >'0'
          以上整形效果由SqlToolBox完成.

          查詢出的結果:


          四.最內層子查詢語句.
          這一次查詢目的是找出符合條件的記錄并排序.這是查詢的關鍵部分,你要修改成你的查詢代碼就修改這部分內容。
          SQL語句如下:
                           Select     
                                  
          *
                           
          from       
                                  Account
                           
          where     
                                  
          count >='0' and 
                                  
          count <='999999' and 
                                  userid
          ='18567' order by addTime

          結果如下:


          五.第二層子查詢
          這一層子查詢的主要目的是用rownum給上面的記錄加上行號,這是為最外層子查詢做準備的.
          SQl語句:
                   Select     
                          t01.
          *,
                          rownum 
          as newRowNum
                   
          from       
                          (
                           
          Select     
                                  
          *
                           
          from       
                                  Account
                           
          where     
                                  
          count >='0' and 
                                  
          count <='999999' and 
                                  userid
          ='18567' order by addTime
                          ) t01

          查詢結果,大家可以看到右邊比第四步結果圖多出來一列(newRowNum這一列).


          六.最后的查詢.
          前面的查詢已經出來符合條件的,排完序的,有行號的結果集,接下來對行區間進行限制就可以了,也就是指定newRowNum的范圍,這樣出來的就是分頁的結果.



          以上.

          posted on 2008-02-14 13:05 sitinspring 閱讀(1846) 評論(3)  編輯  收藏 所屬分類: Java基礎

          評論

          # re: 分頁SQL語句分析(Oracle數據庫) 2011-02-17 17:28 愛愛愛

          t01
          是那張表啊 ~~~~是單獨搞出來的么  回復  更多評論   

          # re: 分頁SQL語句分析(Oracle數據庫) 2011-02-17 21:00 何楊

          @愛愛愛

          一個查詢的別名。

          t01=Select
          *
          from
          Account
          where
          count >='0' and
          count <='999999' and
          userid='18567' order by addTime
            回復  更多評論   

          # re: 分頁SQL語句分析(Oracle數據庫) 2011-02-18 08:49 愛愛愛

          @何楊
          太感謝了,我一直以為是一個表名,現在清楚了,謝謝~!  回復  更多評論   

          sitinspring(http://www.aygfsteel.com)原創,轉載請注明出處.
          主站蜘蛛池模板: 南溪县| 临夏县| 山东省| 宝坻区| 鹤峰县| 循化| 铜山县| 左云县| 蓬安县| 康平县| 白银市| 锡林浩特市| 静宁县| 嘉兴市| 安达市| 巴彦淖尔市| 溧水县| 靖江市| 昌宁县| 伊金霍洛旗| 吉水县| 安溪县| 太仆寺旗| 界首市| 隆尧县| 庆阳市| 枣阳市| 永修县| 林口县| 广宗县| 德格县| 治多县| 贺州市| 辽阳县| 将乐县| 枝江市| 海原县| 广灵县| 深州市| 类乌齐县| 嵊泗县|