cAng^Er

          不懂我的人 , 離不了我 , 該了解了解我 !而懂我的人 , 更離不了我 , 因為他們愛我 。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            30 隨筆 :: 16 文章 :: 18 評論 :: 0 Trackbacks
          有關分頁 SQL 的資料很多,有的使用存儲過程,有的使用游標。本人不喜歡使用游標,我覺得它耗資、效率低;使用存儲過程是個不錯的選擇,因為存儲過程是經過預編譯的,執行效率高,也更靈活。先看看單條 SQL 語句的分頁 SQL 吧。

          方法1:
          適用于 SQL Server 2000/2005
          SELECT TOP 頁大小 *
          FROM table1
          WHERE id NOT IN
                    (
                    
          SELECT TOP 頁大小*(-1) id FROM table1 ORDER BY id
                    )
          ORDER BY id

          方法2:
          適用于 SQL Server 2000/2005
          SELECT TOP 頁大小 *
          FROM table1
          WHERE id >
                    (
                    
          SELECT ISNULL(MAX(id),0
                    FROM 
                          (
                         
          SELECT TOP 頁大小*(-1) id FROM table1 ORDER BY id
                          ) 
          A
                    )
          ORDER BY id

          方法3:
          適用于 SQL Server 2005

          SELECT TOP 頁大小 * 
          FROM 
                  (
                  
          SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1
                  ) A
          WHERE RowNumber > 頁大小*(頁數-1)

          說明,頁大小:每頁的行數;頁數:第幾頁。使用時,請把“頁大小”和“頁大小*(頁數-1)”替換成數字。
          http://www.cnblogs.com/anjou/archive/2007/10/17/926944.html
          posted on 2008-04-23 18:15 cAng^Er 閱讀(754) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 厦门市| 当雄县| 黄山市| 鸡泽县| 成安县| 泾源县| 镇远县| 将乐县| 宝鸡市| 永新县| 贵德县| 讷河市| 永康市| 大新县| 都兰县| 岳普湖县| 舞阳县| 新闻| 朝阳县| 丹东市| 和龙市| 四子王旗| 屯留县| 东城区| 楚雄市| 白朗县| 元阳县| 铁岭县| 门源| 龙口市| 乌恰县| 鄢陵县| 兰溪市| 建始县| 鄂托克前旗| 保山市| 建湖县| 北海市| 邯郸市| 固阳县| 西林县|