SQL Server 2012使用Offset/Fetch Next实现分页数据查询
在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表,数据如下:
假如需要查询第3页的数据(由于数据少,这里假设每页数据是2条,即pageSize=2),那么SQL语句如下:
select [Id] ,[Name] ,[StudentId] ,[MajorId] from T_Student order by [Id] offset 4 rows fetch next 2 rows only
结果如下:
注意:使用Offset /Fetch Next需要指定排序,即必须有order by ***
总结
以上所述是小编给大家介绍的SQL Server 2012使用Offset/Fetch Next实现分页数据查询,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
Sql学习第三天——SQL 关于CTE(公用表达式)的递归查询使用
公用表表达式(CTE)具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE接下来详细介绍下:CTE 的基本语法结构,在使用CTE时注意事项以及实例操作2013-03-03SQL去除字符串空格的ltrim()和rtrim()函数的实现
SQL并不提供trim()函数去除字符串两边空格,只提供了去除字符串左边空格ltrim()函数和去除右边字符串空格rtrim()函数,但是只要将这两个函数配合使用,就能达到去除字符串两端空格的效果,本文就来介绍一下这两个函数的用法2023-11-11SQL Server跨服务器操作数据库的图文方法(LinkedServer)
这篇文章主要介绍了SQL Server跨服务器操作数据库的方法,通过链接服务器(LinkedServer)实现SQL Server远程链接MySql等数据库,需要的朋友可以参考下2022-10-10SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复
SQL Server中没有任何一项操作可以修复数据损坏。损坏的页当然需要通过某种机制进行修复或是恢复-但绝不是通过重启动SQL Server,Windows亦或是分离附加数据库2013-01-01
最新评论