您的位置:首页技术开发ASP技巧 → 一条sql 语句搞定数据库分页

一条sql 语句搞定数据库分页

时间:2004/11/7 4:12:00来源:本站整理作者:蓝点我要评论(0)

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


 


经测试,以上分页方法比使用临时表分页速度还要快,并且简单易用


 


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 VB.NET 2005编写定时关 Jquery get/post下乱码解决方法 前台gbk gb如何使用数据绑定控件显示数据ASP脚本循环语句ASP怎么提速

人气排行 轻松解决"Server Application Error"和iis"一起学习DataGridView调整列宽用ASP随机生成文件名的函数Jquery get/post下乱码解决方法 前台gbk gbODBC Drivers错误80004005的解决办法返回UPDATE SQL语句所影响的行数的方法用Javascript隐藏超级链接的真实地址两个不同数据库表的分页显示解决方案