<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

    Oracle、DB2、SQLSERVER、Mysql、Access分頁SQL語句梳理
    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!
    最近把平時在項目中常用到的數據庫分頁sql總結了下。大家可以貼出分頁更高效的sql語句。
    sqlserver分頁
     第一種分頁方法
     需用到的參數:
     pageSize 每頁顯示多少條數據
     pageNumber 頁數 從客戶端傳來
     totalRecouds 表中的總記錄數 select count (*) from 表名
     totalPages 總頁數
     totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1
     pages 計算前pages 條數據
     pages= pageSize*(pageNumber-1)
     SQL語句:
     select top pageSize * from 表名 where id  not in (select top pages id from 表名 order by id) order by id
     第二種分頁方法
     pageSize 每頁顯示多少條數據
     pageNumber 頁數 從客戶端傳來
     pages=pageSize*(pageNumber-1)+1
     select top pageSize * from 表名 where id>=(select max(id) from (select top pages id from 表名 order by id asc ) t )

    mysql分頁
     需用到的參數:
     pageSize 每頁顯示多少條數據
     pageNumber 頁數 從客戶端傳來
     totalRecouds 表中的總記錄數 select count (*) from 表名
     totalPages 總頁數
     totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1
     pages 起始位置
     pages= pageSize*(pageNumber-1)
     SQL語句:
     select * from 表名 limit pages, pageSize;
     mysql 分頁依賴于關鍵字 limit 它需兩個參數:起始位置和pageSize
     起始位置=頁大小*(頁數-1)
     起始位置=pageSize*(pageNumber -1)

    oracle分頁
     pageSize 每頁顯示多少條數據
     pageNumber 頁數 從客戶端傳來
     totalRecouds 表中的總記錄數 select count (*) from 表名
     totalPages 總頁數
     totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1
     startPage 起始位置
     startPage= pageSize*(pageNumber-1)+1
     endPage=startPage+pageSize
     SQL語句
     select a.* from
     (
       select rownum num ,t.* from  表名 t where 某列=某值 order by id asc
     )a
     where a.num>=startPage and a.num<endPage

    db2分頁
     int startPage=1  //起始頁
     int endPage;     //終止頁
     int pageSize=5;  //頁大小
     int pageNumber=1 //請求頁

     startPage=(pageNumber-1)*pageSize+1
     endPage=(startPage+pageSize);


     SQL語句
     select * from (select 字段1,字段2,字段3,字段4,字段5,rownumber() over(order by 排序字段 asc ) as rowid  from 表名 )as a where a.rowid >= startPage AND a.rowid <endPage

    access分頁
     pageSize 每頁顯示多少條數據
     pageNumber 頁數 從客戶端傳來
     pages=pageSize*(pageNumber-1)+1
     SQL語句
     select top pageSize * from 表名 where id>=(select max(id) from (select top pages id from 表名 order by id asc ) t )


     溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    posted on 2010-09-16 16:12 雪山飛鵠 閱讀(4327) 評論(1)  編輯  收藏 所屬分類: database

    Feedback

    # re: Oracle、DB2、SQLSERVER、Mysql、Access分頁SQL語句梳理[未登錄] 2010-09-20 13:40 chris
    不錯,收藏了!  回復  更多評論
      

    主站蜘蛛池模板: 亚洲色图.com| 久久久婷婷五月亚洲97号色 | 三年片在线观看免费大全 | 免费一级毛片不卡不收费| 亚洲国产专区一区| 亚洲国产第一站精品蜜芽| 亚洲网站在线播放| 亚洲人成色99999在线观看| 免费人成网上在线观看| 成人性做爰aaa片免费看| 97视频免费在线| 国产jizzjizz免费看jizz| 久久精品国产亚洲麻豆| 亚洲1234区乱码| 农村寡妇一级毛片免费看视频| 久久精品成人免费看| 日韩视频在线精品视频免费观看| 在线免费观看韩国a视频| 亚洲中文字幕在线第六区| 亚洲精品视频在线观看视频| 亚洲狠狠色丁香婷婷综合| 中文字幕免费观看视频| 精品久久8x国产免费观看| 日韩亚洲精品福利| 亚洲精彩视频在线观看| 美女免费视频一区二区| 99久久免费观看| 国产一级淫片a视频免费观看| 精品国产亚洲一区二区三区| 亚洲中文字幕AV每天更新| 最新亚洲成av人免费看| 久久久久国色AV免费看图片| 亚洲中文字幕成人在线| 亚洲国产成人精品无码区在线秒播| 国产亚洲精品欧洲在线观看| 久久精品无码专区免费青青| 日韩精品亚洲专区在线观看| 亚洲成AV人片久久| 国产午夜精品理论片免费观看 | 4444www免费看| 国产精品亚洲w码日韩中文|