• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    基于sqlserver的四种分页方式总结

    第一种:ROW_NUMBER() OVER()方式

    select * from (
        select *, ROW_NUMBER() OVER(Order by ArtistId ) AS RowId from ArtistModels
      ) as b

    where RowId between 10 and 20

    ---where RowId BETWEEN 当前页数-1*条数 and 页数*条数---     

    执行结果是:

    第二种方式:offset fetch next方式(SQL2012以上的版本才支持:推荐使用 )

    select * from ArtistModels  order by ArtistId offset 4 rows fetch next 5 rows only
                      --order by ArtistId offset 页数 rows fetch next 条数 rows only ----

    执行结果是:

    第三种方式:--top not in方式 (适应于数据库2012以下的版本)

    select top 3 * from ArtistModels
    where ArtistId not in (select top 15 ArtistId from ArtistModels)

    ------where Id not in (select top 条数*页数  ArtistId  from ArtistModels)  

    执行结果:

    第四种方式:用存储过程的方式进行分页  

    CREATE procedure page_Demo
    @tablename varchar(20),
    @pageSize int,
    @page int
    AS
    declare @newspage int,
    @res varchar(100)
    begin
    set @newspage=@pageSize*(@page - 1)
    set @res='select * from ' +@tablename+ ' order by ArtistId offset '+CAST(@newspage as varchar(10)) +' rows fetch next '+ CAST(@pageSize as varchar(10)) +' rows only'
    exec(@res)
    end
    EXEC page_Demo @tablename='ArtistModels',@pageSize=3,@page=5

    执行结果:

    ps:今天搞了一下午的分页,通过上网查资料和自己的实验,总结了四种分页方式供大家参考,有问题大家一起交流学习。

    您可能感兴趣的文章:
    • 高效的SQLSERVER分页查询(推荐)
    • 真正高效的SQLSERVER分页查询(多种方案)
    • 分页 SQLServer存储过程
    • sqlserver分页的两种写法分别介绍
    • sqlserver 通用分页存储过程
    • sqlserver 三种分页方式性能比较[图文]
    • sqlserver分页查询处理方法小结
    • sqlserver 存储过程分页代码
    • SQL server分页的4种方法示例(很全面)
    上一篇:SQL Server Page结构深入分析
    下一篇:详解SQL Server 2016快照代理过程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    基于sqlserver的四种分页方式总结 基于,sqlserver,的,四种,分页,