春風博客

          春天里,百花香...

          導航

          <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 閱讀(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)原創,轉載請注明出處.
          主站蜘蛛池模板: 榆社县| 阳西县| 阜新市| 昌邑市| 昭平县| 清水河县| 邛崃市| 耿马| 岳阳县| 囊谦县| 英山县| 府谷县| 南宫市| 沂南县| 金沙县| 白水县| 社会| 普兰县| 临高县| 沅江市| 莱芜市| 高青县| 泰宁县| 汽车| 临沧市| 乐平市| 新巴尔虎左旗| 丽水市| 桃园县| 西昌市| 余姚市| 岚皋县| 宿迁市| 永寿县| 兴国县| 道孚县| 天水市| 无锡市| 闽侯县| 卢氏县| 蕉岭县|