SQLServer基础:TOP、OFFSET-FETCH、SET ROWCOUNT用法笔记

今天给大家介绍一下TOP、OFFSET-FETCH、SET ROWCOUNT用法笔记,希望对大家能有所帮助!

1、 TOP用法

语法格式:

TOP ( expression ) [ PERCENT ] [ WITH TIES ]

  • expression:返回行数的数值表达式

  • PERCENT:指返回的结果集行的百分比。

用法:

--从UserInfo数据表提取20行记录SELECT TOP 20 * FROM UserInfo;--UserInfo数据表提取10%行记录SELECT TOP 10 PERCENT * FROM UserInfo;

表达式中指定返回的行数或百分比,则必须将表达式包含在括号内。用法如下:

DECLARE @n AS int;SET @n = 12SELECT TOP (@n) *FROM UserInfo ;

注意:在未指定ORDER BY子句的情况下,TOP子句返回的数据行,是那些在物理循序上优先访问到的行,而并不一定是逻辑上的前几行。

简单来说,这种返回结果具有不确定性。即使指定了ORDER BY子句,但是所指定的排序列中含有重复值,返回的结果也具有不确定性。不确定的数据,对于数据使用而言,没有多少价值。

解决列中存在重复值时返回结果的不确定性问题,可以使用WITH TIES 关键字。该关键字将指定返回包含ORDER BY子句返回的最后一个值的所有行,这样将超过expression指定的数量。

示例:

SELECT TOP 2 WITH TIES FROM UserInfoORDER BY CreateDate

2、OFFSET-FETCH用法

SQL Server 2012版本引入了对OFFSET-FETCH技术的支持。

OFFSET-FETCH筛选通常被视为ORDER BY子句的一部分,通常用于实现按顺序分页显示效果。OFFSET指定要跳过的行数,FETCH指定在跳过的行数后要筛选的行数

用法:

SELECT UserID, Birthday, Name,AgeFROM UserInfoORDER UserIDOFFSET 20 ROWS FETCH NEXT 15 ROWS ONLY;

注意:使用OFFSET-FETCH的查询必须具有ORDER BY子句。此外,FETCH子句也必须有OFFSET子句。如果不想跳过任何行,但是希望使用FETCH筛选,可以使用OFFSET 0 ROWS来表示。不过,单独使用FETCH表示跳过指定的行数,并返回查询结果中所有剩余行。

OFFSET-FETCH语法有一些有趣的语言方面需要注意。单数格式ROW和复数格式ROWS是可以互换的,因此能够以直观的类似英语方式来描述筛选。

例如,假设仅希望获取一行,如果指定了FETCH 1 ROWS,虽然这在语法上是有效的,不过看上去会很怪。因此,可以使用FETCH 1 ROW格式。此互换同样适用于OFFSET子句。另外,如果不希望跳过任何行(OFFSET 0 ROWS),可能觉得“first”比“next”更合适,因此,FIRST和NEXT格式是可以互换的。

从支持跳过功能看,OFFSET-FETCH子句比TOP子句更灵活。但OFFSET-FETCH不支持PERCENT和WITH TIES选项,而TOP支持。由于OFFSET-FETCH是标准的,而TOP不是,建议使用OFFSET-FETCH作为默认选择,除非你需要TOP支持且OFFSET-FETCH不支持的功能。

3、SET ROWCOUNT语句

SET ROWCOUNT n 语句限制结果集的大小,该语句指定在返回指定的n行后停止处理查询。SET ROWCOUNT与TOP的差别如下:

  • SET ROWCOUNT限制适用于计算ORDER BY后在结果集中生成行。如果指定了ORDER BY,SELECT语句将从分类排序后的某个值集中选择n行后结束。

  • TOP和OFFSET-FETCH适用于单个SELECT语句。直到执行下一个SET ROWCOUNT语句前,SET ROWCOUNT设置将一直有效。如果执行SET ROWCOUNT 0将关闭该选项。

说明:TOP和OFFSET-FETCH性能要优于使用SET ROWCOUNT,应当尽量避免使用SET ROWCOUNT。

用法:

SET ROWCOUNT 4;
SELECT TOP 20 *
FROM UserInfo;

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

取本地数据_深入理解Kafka服务端之Follower副本如何同步Leader副本的数据

一、场景分析Kafka采用的是主写主读的方式,即客户端的读写请求都由分区的Leader副本处理,那么Follower副本要想保证和Leader副本数据一致,就需要不断地从Leader副本拉取消息来进行同步。由于同一个分区的Leader副本和Follower副本分布在不同的…

SQLServer子查询相关知识笔记

今天给大家介绍以下SQLServer子查询相关知识,希望对大家能有所帮助!1、子查询概念介绍子查询可以嵌套在SELECT、INSERT、UPDATE、DELETE语句或其他子查询语句中的查询,子查询一般作为查询中间结果集角色,子查询也称为内部查询或内…

软件:推荐八款电脑实用软件,你都用过吗?

今天给大家推荐八款电脑非常实用的软件,希望对大家能有所帮助!1、Audio Hijack Pro一款Mac 上的录音软件。它比较强大的功能是可以录制多个应用的声音,然后组合成一个结果,然后输出。2、快贴一个跨平台剪切板同步软件。你只需要简…

硬件:开机如何进BIOS,U盘启动快捷键一键查询

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

强制关机对电脑的伤害你有必要了解一下

不管你的电脑新旧与否,我想大家肯定都遇到过死机、卡顿无反应的情况吧,这个时候无论是电脑高手还是萌新小白同场都会采用一个相同的解决方案,对,那就是直接关机。 当然遇到这种情况,长按电源键10秒强制关机&#xff0c…

操作系统的中断和异常

中断和异常 早期的计算机,各程序只能串行执行,系统资源利用率低 中断机制的诞生 中断的概念和作用 中断的分类

硬件:台式机老式键盘知识科普

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

高考填报志愿计算机操作技巧,高考志愿填报技巧经验

高考志愿填报技巧经验2020-12-30 14:43:23文/叶丹填报技巧:在所有科目考试结束后合理估分,提前参考往年录取分数线,明确各项重要的时间节点,搜集目标院校资料,查询目标院校专业近几年的位次情况,有意向的学…

硬件知识:台式电脑主机各种接口介绍

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

两条曲线所围成的面积_三个视频搞定:求曲边梯形面积的思想、微积分基本定理及其几何意义、微积分理论的可视化解读、...

● 本文适合高二下学期、高三一轮复习的同学阅读。先看视频再看文字,看视频时注意利用暂停,想清楚每一步变形的依据。01曲边梯形的面积、微积分基本定理的内容视频讲解1、曲边梯形的概念及面积求法(1)曲边梯形:由直线x=a&#xff…

SQLServer基础:Apply关键字用法介绍

1、概念介绍APPLy关键字是SQLServer版本中开始提供的一个系统关键字。APPLY的功能同联接很类似,APPLY运算分左右两个部分,APPLY的右表达式:左表达式的每一行都和右表达式进行一次计算,即右表达式需要根据左表达式提供的值进行相关计算来获取相…

asp命令执行语句】_2分钟教你使用ASP.NET CORE创建并发布网页应用

>> 点击上方 懒人MES 关注我们准备环境: 只需要下载并安装 .NET CORE SDK 3.1(推荐3.1)微软官方下载地址: https://dotnet.microsoft.com/download/dotnet-core不需要Visual Studio, 也不需要VS Code, 一切操作都只在CMD命令行中完成, 而且只需要执行5条命令,…

苹果计算机磁盘格式,苹果电脑如何完全写入NTFS格式磁盘

很多在使用Mac的用户可能都发现了,Mac有时候不能正常使用NTFS格式磁盘。无论是U盘、硬盘、软盘还是其他的NTFS格式分区,mac在使用它们的时候只能有访问读取的权限,但想要修改、删除、存在文件则无法实现。为解决这一问题,小编今天…

电脑知识:分享几款常用的截屏方法,欢迎收藏

目录 1、Windows系统自带截图工具 2、截屏软件 3、聊天软件 4、Windows系统自带有截屏的快捷键 5、浏览器截屏 6、手机拍照 今天小编给大家介绍几个常用截屏的方法,希望对大家的日常办公能有所帮助! 1、Windows系统自带截图工具 点击左下角开始菜单在“…

eigen 编译_头条 | 使用eigen实现四元数、欧拉角、旋转矩阵、旋转向量间的转换...

点击上方蓝字,关注本公众号,获得更多资源上一篇文章介绍了四元数、欧拉角、旋转矩阵、轴角如何相互转换,本篇文章介绍如何用eigen来实现。旋转向量1,初始化旋转向量:旋转角为alpha,旋转轴为(x,y,z)Eigen::A…

硬件知识:独立显卡和集成显卡的区别

目录 1、独立显卡 2、集成显卡 3、独立显卡与集成显卡性能上的区别 今天给大家介绍一下独立显卡和集成显卡的区别,希望对大家能有所帮助! 1、独立显卡 独立显卡是将显示芯片及相关器件制作成一个独立于电脑主板的板卡,成为专门的图像处理硬件…

『OPEN3D』1.1 点云处理

目录 1.open3d中的点云IO 2.点云的可视化 3 点云voxel下采样 4. 顶点法线估计 5.最小外界矩 6. 凸包计算 7. 点云距离计算 8. DBSCAN clustering聚类 9. RANSAC(Random Sample Consensus) 10. 点云平面分割 11. 隐藏点移除 12.outliers移除 13 最远点采样&#xf…