数据库 
首页 > 数据库 > 浏览文章

SQL Server 2012使用Offset/Fetch Next实现分页数据查询

(编辑:jimmy 日期: 2024/9/24 浏览:3 次 )

在Sql Server 2012之前,实现分页主要是使用ROW_NUMBER(),在SQL Server2012,可以使用Offset ...Rows  Fetch Next ... Rows only的方式去实现分页数据查询。

select [column1]
   ,[column2]
   ...   
   ,[columnN]
from [tableName]
order by [columnM]
offset (pageIndex-1)*pageSize rows
fetch next pageSize rows only

上面代码中,column1,column2 ... columnN表示实现需要查询的列,tableName是表名,columnM是需要排序的列名,pageIndex是页码,pageSize是每页数据的大小,实际中一般是先计算(pageIndex-1)*pageSize的结果,然后在sql里直接使用具体的结果(数字)

例如数据库中有T_Student表,数据如下:

SQL Server 2012使用Offset/Fetch Next实现分页数据查询

 假如需要查询第3页的数据(由于数据少,这里假设每页数据是2条,即pageSize=2),那么SQL语句如下:

select [Id]
   ,[Name]
   ,[StudentId]
   ,[MajorId]
from T_Student
order by [Id]
offset 4 rows
fetch next 2 rows only

结果如下:

SQL Server 2012使用Offset/Fetch Next实现分页数据查询

注意:使用Offset /Fetch Next需要指定排序,即必须有order by ***

总结

以上所述是小编给大家介绍的SQL Server 2012使用Offset/Fetch Next实现分页数据查询,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

上一篇:SqlServer索引的原理与应用详解
下一篇:大容量csv快速内导入sqlserver的解决方法(推荐)
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap