antshome(原作)首發:CSDN 一條語句搞定數據庫分頁 select top 10 b.* from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段 10 = 每頁記錄數 20 = (當前頁 + 1) * 每頁記錄數 以上語句即可以實現分頁,但是最后取出的結果排序是升序,如果需要結果集為降序(例如時間),則有兩種方法可以處理 1.使用以下語句,但效率可能要降低一些 select * from 表名 b, (select top 10 主鍵字段,排序字段 from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc) a order by 排序字段 ) c where b.主鍵字段 = c.主鍵字段 order by c.排序字段 desc 2.在ado里處理,將記錄集游標移到最后,然后前移 ''以下為asp范例 set rsTemp = Server.CreateObject("adodb.recordset") rsTemp.Open 語句,conn,1,1 rsTemp.MoveLast for i = 1 to rsTemp.RecordCount '取值.... rsTemp.MovePrevious next
經測試,以上分頁方法比使用臨時表分頁速度還要快,并且簡單易用
|
溫馨提示:喜歡本站的話,請收藏一下本站!