春風博客

          春天里,百花香...

          導航

          <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)原創,轉載請注明出處.
          主站蜘蛛池模板: 同心县| 无棣县| 蓝山县| 大同县| 东光县| 固安县| 香格里拉县| 榆社县| 利津县| 淳化县| 常州市| 师宗县| 清水县| 乌兰浩特市| 溆浦县| 当雄县| 安顺市| 巫山县| 大邑县| 沙湾县| 洛川县| 攀枝花市| 大新县| 武冈市| 招远市| 马鞍山市| 新和县| 淳化县| 潮州市| 广州市| 章丘市| 定远县| 龙门县| 白山市| 梁平县| 班戈县| 盖州市| 东乌珠穆沁旗| 玛纳斯县| 南平市| 耒阳市|