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

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

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

    風人園

    弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
    數據加載中……

    最優化的ms sql server分頁sql語句(ZT)

    特點:一次查詢,數據庫只返回一頁的數據。而不是取出所有的數據。
    說明:

    pagesize: 每頁顯示記錄數
    cureentpage:當前頁數

    select * from (? select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage? * from user_table? ORDER BY id ASC ) as aSysTable? ORDER BY id DESC ) as bSysTable? ORDER BY id ASC


    例子說明:

    假如數據庫表如下:

    user_table:

    id:主鍵,自增
    username:字符
    password:字符

    假設有80條記錄,每頁顯示10條記錄,id 從1到80


    現在按照id升序排列取出第三頁的數據應該為:所取得記錄的id 應該為 21到30。

    這時該語句應該為:

    select * from (? select TOP 10 * FROM ( SELECT TOP 30? * from user_table? ORDER BY id ASC ) as aSysTable? ORDER BY id DESC ) as bSysTable? ORDER BY id ASC

    原理如下:

    先按照id從小到大升序取出30條記錄(3*10),也就是:id 在 1-30 之間的記錄 (SELECT TOP 30? * from user_table? ORDER BY id ASC)

    然后按照ID降序排列這30條記錄,得到記錄為id 在:從30到 1?

    然后在這些30條記錄中取出前10條記錄:取得的記錄為:id 在30-21之間。這就是我們需要的數據,但這時是按照降序排列的,不符合要求。

    最后在重新排序得到最終我們需要的數據。id在21-30之間。

    posted on 2007-03-19 09:25 風人園 閱讀(254) 評論(0)  編輯  收藏 所屬分類: Database

    主站蜘蛛池模板: 亚洲视频在线免费播放| yy一级毛片免费视频| 120秒男女动态视频免费| 日本亚洲欧洲免费天堂午夜看片女人员 | 亚洲a∨国产av综合av下载| 国产成人免费高清激情明星| 亚洲天堂久久精品| 久久久久国色av免费看| 亚洲AV综合色一区二区三区| 日韩免费视频一区二区| 久久久亚洲精品国产| 免费精品99久久国产综合精品| 亚洲人成电影福利在线播放 | 114级毛片免费观看| 亚洲免费一级视频| 最近中文字幕无免费视频| 亚洲中文字幕一二三四区| 国产三级在线观看免费| 亚洲av永久无码精品网址| 国产免费黄色大片| 日韩精品免费一线在线观看| 久久精品国产亚洲精品| 久久99毛片免费观看不卡| 亚洲免费精彩视频在线观看| 国产妇乱子伦视频免费| 亚洲无人区码一二三码区别图片| 国产在线播放免费| 久久免费香蕉视频| 亚洲自偷精品视频自拍| 成人免费男女视频网站慢动作| 美女黄色免费网站| 国产亚洲视频在线播放| 91视频免费网址| 亚洲免费网站观看视频| 国产成人高清亚洲| 91精品国产免费| 亚洲精品GV天堂无码男同| 亚洲综合区小说区激情区| 91青青青国产在观免费影视| 国产亚洲精品AAAA片APP| 国产精品亚洲片在线观看不卡 |