广

ASP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-05-04 21:20:52 次阅读 稿源:互联网
    零七广告

      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

       

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

       

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告