春風博客

          春天里,百花香...

          導航

          <2011年2月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272812345
          6789101112

          統計

          公告

          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 閱讀(1840) 評論(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)原創,轉載請注明出處.
          主站蜘蛛池模板: 三门县| 常熟市| 延安市| 正宁县| 林芝县| 吴江市| 巧家县| 江阴市| 淳安县| 邵东县| 清原| 黎城县| 仙桃市| 乌拉特中旗| 靖西县| 石河子市| 瓦房店市| 凉城县| 夏津县| 鱼台县| 阜南县| 明溪县| 泽普县| 高要市| 沽源县| 沧源| 天等县| 青田县| 拉萨市| 仙游县| 湟源县| 建瓯市| 耒阳市| 陈巴尔虎旗| 东源县| 云浮市| 榕江县| 万源市| 阿坝| 武安市| 惠安县|