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

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

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

    風(fēng)人園

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

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

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

    pagesize: 每頁顯示記錄數(shù)
    cureentpage:當(dāng)前頁數(shù)

    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


    例子說明:

    假如數(shù)據(jù)庫表如下:

    user_table:

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

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


    現(xiàn)在按照id升序排列取出第三頁的數(shù)據(jù)應(yīng)該為:所取得記錄的id 應(yīng)該為 21到30。

    這時該語句應(yīng)該為:

    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之間。這就是我們需要的數(shù)據(jù),但這時是按照降序排列的,不符合要求。

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

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

    主站蜘蛛池模板: 最近免费中文字幕中文高清| 97视频热人人精品免费| 亚洲国产精华液网站w| 曰批全过程免费视频网址| 亚洲AV无码一区二区大桥未久| 2022中文字字幕久亚洲| 每天更新的免费av片在线观看 | 亚洲av无码国产精品色午夜字幕| 最近免费中文字幕大全高清大全1| 国产亚洲玖玖玖在线观看| 在线a亚洲v天堂网2019无码| 亚州免费一级毛片| 特级毛片aaaa级毛片免费| 久久狠狠高潮亚洲精品| 免费一级毛片在线播放| 最近免费中文字幕大全免费 | 色噜噜综合亚洲av中文无码| 日韩高清在线免费观看| 久久九九AV免费精品| 菠萝菠萝蜜在线免费视频| 亚洲成aⅴ人在线观看| 中文字幕亚洲电影| 免费黄网在线观看| 6080午夜一级毛片免费看| 4hu四虎免费影院www| 亚洲色大网站WWW永久网站| 亚洲成av人在线视| 免费大片黄手机在线观看| 可以免费看的卡一卡二| 精品免费视在线观看| 国产午夜亚洲精品不卡免下载| 亚洲国产韩国一区二区| 久久精品国产亚洲麻豆| 免费久久精品国产片香蕉| 免费无码精品黄AV电影| 久久免费国产视频| 中文字幕一区二区免费| 免费毛片毛片网址| 亚洲av中文无码乱人伦在线观看 | 亚洲av无码成人影院一区| 久久精品蜜芽亚洲国产AV|