加入收藏
联系我们
关于我们
 您现在的位置: 亿聪 >> 网络学院 >> 网络编程 >> ASP >> 正文  
  一条SQL语句搞定数据库分页         ★★★★★
一条SQL语句搞定数据库分页
[ 作者:antshome    转贴自:CSDN    点击数:4109    更新时间:2004/10/20    文章录入:亿聪 ]
 

一条语句搞定数据库分页

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

 

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

  • 上一篇文章: ASP构造大数据量的分页SQL语句

  • 下一篇文章: 用ASP隐藏文件路径,实现防盗链
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • Knoppix 4.0.2 免硬盘免安…[12989]

  • 通过ASP记录进行分页[9862]

  • ASP开发准则[9448]

  • ASP组件指南[9454]

  • ASP指南[9409]

  •  
     最新5篇推荐文章
  • Knoppix 4.0.2 免硬盘免安…[12989]

  • 如何让Win 2003系统更加安…[10397]

  • Nero超刻简明教程[32995]

  • PS商业实战-来杯茶,行吗?…[6194]

  • ASP深度揭密(下)[10127]

  •  
     相 关 文 章
  • 通过ASP记录进行分页[9862]

  • ASP构造大数据量的分页SQL…[3913]

  • 实现千万级数据的分页显示…[3684]

  • ASP中如何快速分页[3884]

  • ASP分页显示详论[4309]


  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 关于我们 | 联系我们 | 友情链接 | 版权声明 | 管理登录
    Copyright © 2000-2020 Yicong.com.All Rights Reserved.
    亿聪 版权所有 E-mail: