日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

优化的ms sql server分页sql语句

發布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 优化的ms sql server分页sql语句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

優化的ms sql server分頁sql語句

發布時間: 2009-8-15 00:00?|? 發布作者: hjh?|? ?|? 查看: 3次

特點:一次查詢,數據庫Databnse只返回一頁的數據。而否則取出所有的數據。
說明:
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

例子說明:
假如數據庫Databnse表如下:
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之間。

期望對大部份人有所幫助。
如有疑難問題,期望和大部份人一塊溝通。
email:yanek@126.com

總結

以上是生活随笔為你收集整理的优化的ms sql server分页sql语句的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。