首页 > 数据库 >SQL Server分页的内置函数

SQL Server分页的内置函数

时间:2024-03-21 16:00:15浏览次数:29  
标签:内置 name OFFSET NUMBER Server SQL FETCH SELECT ROW

SQL Server提供了几个内置函数来实现数据分页,以下是其中常用的函数

ROW_NUMBER():ROW_NUMBER()函数可以为结果集中的每一行添加一个序号,按照指定的排序方式进行排序。结合ROW_NUMBER()函数和WHERE子句,可以实现简单的分页效果。

示例:

SELECT *

FROM (

SELECT *,

ROW_NUMBER() OVER (ORDER BY column_name) AS RowNum

FROM table_name

) AS Subquery

WHERE RowNum BETWEEN @startRow AND @endRow;

OFFSET FETCH:OFFSET FETCH子句是SQL Server 2012及更高版本引入的,可以方便地实现分页。OFFSET指定要跳过的行数,FETCH指定要返回的行数。

示例:

SELECT column1, column2

FROM table_name

ORDER BY column_name

OFFSET @startRow ROWS

FETCH NEXT @pageSize ROWS ONLY;

TOP:TOP关键字可以用来返回指定数量的行数。结合子查询和ORDER BY子句,可以实现分页效果。

示例:

SELECT TOP (@pageSize) column1, column2

FROM (

SELECT *,

ROW_NUMBER() OVER (ORDER BY column_name) AS RowNum

FROM table_name

) AS Subquery

WHERE RowNum >= @startRow;

这些函数可以根据不同的需求来进行分页操作。使用ROW_NUMBER()函数和子查询的方式可以适用于较早版本的SQL Server,而OFFSET FETCH和TOP关键字则是在较新版本中引入的更简洁的语法。根据具体的使用场景和版本需求,选择适合的方法进行分页操作。

标签:内置,name,OFFSET,NUMBER,Server,SQL,FETCH,SELECT,ROW
From: https://blog.csdn.net/Dana1222230203/article/details/136911507

相关文章

  • python 函数(解包、互相调用、作用域、函数的封装、内置函数:eval()、zip()、open())
    函数解包"""1、函数的注释:参数和返回值在注释里可以自动添加显示,只需手动加说明。2、函数的解包【拆包】:函数的参数要传递数据有多个值的时候,中间步骤拿到数据保存在元组或者列表或者字典里。-传递参数的时候加一个*或者**解包-一次拿到元组列表字典的......
  • mysql的my.cnf解释说明
    这个关乎配置文件,需要了解后,对数据库管理有很大的帮助。#***clientoptions相关选项***##以下选项会被MySQL客户端应用读取。注意只有MySQL附带的客户端应用程序保证可以读取这段内容。如果你想你自己的MySQL应用程序获取这些值。需要在MySQL客户端库初始化的时候指定这些选......
  • sqlserver排障手册
    一、内容1.1用于收集日志的诊断工具SQLLogScoutPSSDiagSQLTraceSSPIClientTSSV2SQLDumper1.2用于分析日志的诊断工具SQLNexusAGDiagSQL网络分析器SQLCheckSQLBenchDBTestRML实用工具SQL调用堆栈解析程序1.3 高可用性和灾难恢复(AlwaysOn可用性组)......
  • mysql语句优化心得
    一、常用SQL优化处理1.1like查询优化方案like模糊查询形如'%AAA%'和'%AAA'将不会使用索引,但是业务上不可避免可能又需要使用到这种形式查询方式:优化方案一:使用覆盖索引,即查询出的列只是用索引就可以获取,而无须查询表记录,这样也走了索引;优化方案二:使用locate函数或者positio......
  • 最新SQL注入漏洞修复建议
    SQL注入漏洞修复建议常用的SQL注入漏洞的修复方法有两种。1.过滤危险字符多数CMS都采用过滤危险字符的方式,例如,用正则表达式匹配union、sleep、load_file等关键字。如果匹配到,则退出程序。例如,80sec的防注入代码如下:functionCheckSql($db_string,$querytype='select')   {......
  • Jumpserver 堡垒机用户启用双因子登录
    前言:堡垒机双因子登录    堡垒机往往是内部权限的集合体,拿到了堡垒机的用户账号密码,很容易就顺藤摸瓜攻破各种应用系统,除了常规的用户名复杂密码的要求外,我们常常都要求采用双因子的登录方式。双因子最常见的就是账号密码+短信验证,复杂点就有账号密码+MFA工具。......
  • 【力扣sql】高频 SQL 50 题(基础版)
    1174获取即时订单在所有用户的首次订单中的比例。保留两位小数。配送表:Delivery+-----------------------------+---------+|ColumnName|Type|+-----------------------------+---------+|delivery_id|int||custom......
  • Tomcat 9.0 conf server.xml sample
    C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat9.0\conf\server.xml <Connectorprotocol="HTTP/1.1"port="8080"maxThreads="200"connectionTimeout="20000"......
  • SQL SERVER 游标格式
    --定义参数declare@Row_LevelIndexintdeclare@Row_UserIDintdeclare@Row_MemberRightintdeclare@Row_CaptainID intdeclare@Row_Scoredecimal(18,2)declare@Row_GroupIDintdeclare@Row_ScoreCountdecimal(18,2)declare@Row_DrawCountintdecla......
  • Node+Vue毕设社区居家养老管理系统(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在人口老龄化日益加剧的今天,社区居家养老已成为解决老年人养老问题的重要方式。随着社会经济的发展和科技的进步,老年人对于养老服务的需求不再局限于基本的......