sql server 分页语句OFFSET 和 FETCH NEXT 怎样使用?

原文链接:https://blog.csdn.net/weixin_45659376/article/details/107336143

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

在Order By子句中新增 Offset-Fetch子句,用于从有序的结果集中,跳过一定数量的数据行,获取指定数量的数据行,从而达到数据行分页的目的。经过测试,从逻辑读取数量和响应的时间消耗来测评,使用Offset-Fetch实现的分页方式,比Row_Number()方式性能要高很多。
Offset-Fetch子句要求结果集是有序的,因此,只能用于order by 子句中,语法如下:

1
2
// x1:跳过的行数  x2:显示的行数
ORDER BY 字段 ASC/DESC offset x1 rows fetch next x2 rows only 

offset 10 rows fetch next 5 rows only

跳过10行,返回5行

 

posted @   yinghualeihenmei  阅读(995)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2023-04-07 IIS问题:无法识别的属性“targetFramework”。请注意属性名称区分大小写
2023-04-07 Vs2015引用项目时一直有黄色的三角形感叹号
2023-04-07 IIS 配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法
点击右上角即可分享
微信分享提示