位置: 编程技术 - 正文
推荐整理分享SQL分页查询方式汇总(sql查询结果分页),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sqlsugar分页查询,sqlplus分页查询,sql分页查询方式是什么,sql分页查询怎么实现,sql分页查询怎么实现,sql分页查询怎么实现,sql分页查询怎么实现,sql分页查询方式是什么,内容如对您有帮助,希望把文章链接给更多的朋友!
需求:查询表dbo.Message,每页条,查询第2页
1:TOP()
2:BETWEEN * AND * , Row_Number() OVER(ORDER BY *) AS rowNum
3:WITH * AS () , Row_Number() OVER(ORDER BY *) AS rowNum
4: SQL Server 的OFFSET-FETCH筛选
这里第4中方法做详细介绍:
TOP选项是一个非常实用的筛选类型,但它有两个缺陷——不是标准SQL,且不支持跳过功能。标准SQL定义的TOP类似筛选称为OFFSET-FETCH,支持跳过功能,这对针对特定页面的查询非常有用。SQL Server引入了对OFFSET-FETCH筛选的支持。
SQL Server 中的OFFSET-FETCH筛选被视为ORDER BY子句的一部分,通常用于实现按顺序显示效果。OFFSET子句指定要跳过的行数,FETCH子句指定在跳过的行数后要筛选的行数。请思考一下下面的查询示例。
此查询按orderdate、orderid顺序(订单日期从最远到最近,并添加了决胜属性(tiebreaker)orderid)排序Orders表中的行。基于此顺序,OFFSET子句跳过前行,由FETCH子句仅筛选下面的行。
请注意,使用OFFSET-FETCH的查询必须具有ORDER BY子句。此外,FETCH子句不支持没有OFFSET子句。如果你不想跳过任何行,但是希望使用FETCH筛选,你应当使用OFFSET 0 ROWS来表示。不过,没有FETCH的OFFSET是允许的,这种情况是跳过指定的行数,并返回查询结果中所有剩余行。
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不支持的功能。
以上所述是小编给大家介绍的SQL分页查询方式汇总,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
Python版Mssql爆破小脚本 MssqlPython版本爆破小脚本,需要安装MSSQL-python.exe可以看出代码量很少,用法:保存代码为MssqlDatabaseBlasting.py,cmd切换到MssqlDatabaseBlasting.py路径下,并执
sql server 自定义分割月功能详解及实现代码 在最近的项目开发过程中,遇到了Sqlserver自动分割月的功能需求,这里在网上整理下资料.1、为何出现自定义分割月的需求今天梳理一个平台的所有函数
SQL Server 实现数字辅助表实例代码 数字辅助表是一个连续整数的数列,通常用来实现多种不同的查询任务。大多分两类:足够大物理数字表和表函数,前者可以称为静态的,后者可以称
标签: sql查询结果分页
本文链接地址:https://www.jiuchutong.com/biancheng/318964.html 转载请保留说明!友情链接: 武汉网站建设