这里有新鲜出炉的 SQL Server 教程, 程序狗速度看过来!
SQL Server 数据库
SQL Server 即 Microsoft SQL Server SQL 是英文 Structured Query Language 的缩写, 意思为结构化查询语言 SQL 语言的主要功能就是同各种数据库建立联系, 进行沟通按照 ANSI(美国国家标准协会) 的规定, SQL 被作为关系型数据库管理系统的标准语言
在 Sql Server 2012 之前, 实现分页主要是使用 ROW_NUMBER(), 在 SQL Server2012, 可以使用 Offset ...Rows Fetch Next ... Rows only 的方式去实现分页数据查询, 具体代码详解大家参考下本文
在 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 实现分页数据查询, 希望对大家有所帮助, 如果大家有任何疑问请给我留言, 小编会及时回复大家的在此也非常感谢大家对 PHPERZ 网站的支持!
来源: http://www.phperz.com/article/18/0312/352257.html