一條sql 語句搞定數(shù)據(jù)庫分頁
發(fā)表時間:2024-02-11 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]antshome(原作)首發(fā):CSDN一條語句搞定數(shù)據(jù)庫分頁select top 10 b.* from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字...
antshome(原作)首發(fā):CSDN
一條語句搞定數(shù)據(jù)庫分頁
select top 10 b.* from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段
10 = 每頁記錄數(shù)
20 = (當前頁 + 1) * 每頁記錄數(shù)
以上語句即可以實現(xiàn)分頁,但是最后取出的結(jié)果排序是升序,如果需要結(jié)果集為降序(例如時間),則有兩種方法可以處理
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
經(jīng)測試,以上分頁方法比使用臨時表分頁速度還要快,并且簡單易用