主页 > 知识库 > 基于sqlserver的四种分页方式总结

基于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种方法示例(很全面)

标签:威海 七台河 铜仁 来宾 宿州 益阳 防疫战设 天水

巨人网络通讯声明:本文标题《基于sqlserver的四种分页方式总结》,本文关键词  基于,sqlserver,的,四种,分页,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《基于sqlserver的四种分页方式总结》相关的同类信息!
  • 本页收集关于基于sqlserver的四种分页方式总结的相关信息资讯供网民参考!
  • 推荐文章