一条sql 语句搞定数据库分页
来源:asp之家 时间:2009-03-21 18:32:00
一条语句搞定数据库分页
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
经测试,以上分页方法比使用临时表分页速度还要快,并且简单易用
标签:sql,分页,数据库
0
投稿
猜你喜欢
使用正则表达式找出不包含特定字符串的条目
2010-03-02 22:06:00
采用XML数据来填充ASP表单
2008-05-04 13:32:00
初学MySql5 所应了解的知识和常见问题
2009-03-06 17:49:00
鼠标经过超链时的提示图层源码
2010-03-17 20:51:00
如何使用Script Encoder?
2010-06-05 12:42:00
js关于 byval 与 byref 的区别
2007-10-13 10:48:00
让复杂导航设计变得简单
2008-01-07 11:50:00
Web 2.0 框架发布
2008-03-25 09:40:00
asp连接mysql的问题(端口)
2009-08-21 13:23:00
SQL提供的进行数据传输的实用程序—BCP
2009-01-23 13:45:00
弹出对话框,点击跳出一个可拖动的层(对话框)
2009-09-07 12:56:00
利用XMLHTTP检测网址及探测服务器类型
2009-04-24 15:12:00
信息分类是为了更好的索引
2010-02-04 17:51:00
空行不空格式排版组织原理
2010-05-03 14:46:00
页面中图像格式的选用之我见
2007-10-31 18:11:00
asp下过滤非法的SQL字符的函数代码
2011-03-03 11:23:00
Web UI 设计(网页设计)命名规范
2009-05-13 13:06:00
Discuz!NT 论坛整合ASP程序论坛
2011-03-31 10:40:00
如何优化JavaScript脚本的性能
2008-02-19 21:47:00
IE9硬件加速性能远超Chrome5.0和Firefox4.0
2010-06-09 11:12:00