当前位置: 首页 > 面试题库 >

SQL Server中的LIMIT 10..20

田鸿彩
2023-03-14
问题内容

我正在尝试做类似的事情:

SELECT * FROM table LIMIT 10,20

或者

SELECT * FROM table LIMIT 10 OFFSET 10

但是使用SQL Server

我发现的唯一解决方案看起来过于矫kill过正:

SELECT * FROM ( 
  SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases 
 ) a WHERE row > 5 and row <= 10

我还发现:

SELECT TOP 10 * FROM stuff;

…但这不是我想要做的,因为我无法指定起始限制。

我还有另一种方法吗?

另外,只是好奇,SQL
Server不支持该LIMIT功能或类似功能的原因吗?我不想太刻薄,但这听起来确实像DBMS需要的东西。如果需要,那么对不起,我很抱歉!在过去的5年中,我一直在使用MySQL和SQL
+。


问题答案:

LIMIT子句不是标准SQL的一部分。MySQL,PostgreSQL和SQLite支持将它作为SQL的供应商扩展。

其他品牌的数据库可能具有相似的功能(例如,TOP在Microsoft SQL Server中),但是这些功能并不总是相同的。

这是很难使用TOP在Microsoft SQL Server模仿LIMIT条款。在某些情况下,它根本不起作用。

您显示的解决方案ROW_NUMBER()在Microsoft SQL Server 2005和更高版本中可用。这是目前仅作为查询一部分的最佳解决方案。

另一种解决方案是先TOP获取第一个 计数 + 偏移量 行,然后使用API​​来查找超过第一个 偏移量 行。



 类似资料:
  • 问题内容: 我正在尝试在SQLServer中聚合“ STRING”字段。我想找到与Oracle中相同的函数LISTAGG。 您知道如何执行相同的功能或其他方法吗? 例如, 我希望这个查询的结果是 问题答案: 从SQL Server 2017开始,该功能可用,从而大大简化了逻辑: 在SQL Server中,您可以用来获取结果:

  • node-sqlserver 是微软官方发布的 SQL Server 的 Node.js 的驱动程序。可允许 Windows 上运行的 Node.js 程序访问 SQL Server 和 Windows Azure SQL 数据库。 该项目托管在 Github 上。

  • sqlserver manager 是一个多功能sqlserver图形管理界面,支持自定义导入导出,自动扫描服务器,数据库。  

  • 如何将行交换到列,我有一个输出,如 我需要一个输出比如

  • 主要内容:第1节. 查询数据,第2节. 对数据进行排序,第3节. 限制返回行数,第4节. 过滤数据,第5节. 连接表,第6节. 分组数据,第7节. 子查询,第8节. 集合运算符,第9节. 修改数据,第10节. 数据定义,第11节. SQL Server数据类型,第12节. 约束MS SQL Server是Microsoft开发的关系数据库管理系统(RDBMS)。 本产品专为存储其他应用程序所需的检索数据的基本功能而构建。 它可以在同一台计算机上运行,也可以在网络上运行。 本教程介绍了SQL Se

  • 我在Wamp上使用symfony2,它连接在SQL服务器DB上。 当我开始与项目 一切都很好,速度很慢,但我的网站在127.0上还可以。0.1:8000,Doctrine2连接到sql server数据库时没有问题。 我的问题:当我localhost/MyProject/web/app_php.php(意味着我使用wamp而不是server: run)。Symfony抛出一个异常: PDOExc0

  • 官方的SQLServer数据库的JDBC驱动程序 驱动类名:com.microsoft.sqlserver.jdbc.SQLServerDriver URL格式:jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

  • 如果你不想安装庞大的MSSQL IDE,或者不方便安装,你可以使用本软件集成到你的项目中,做一些简单的数据库管理工作。本软件将会持续更新,持续开发新的功能,以便满足更多需求。由于上传源码文件数量限制,源码已打包为DBOA.rar。 基于ASP.NET+C#+XML开发管理SQLSERVER数据库工具,B/S模式更适合无缝集成到任何使用IIS的B/S项目中。为您提供远程管理SQLSERVER数据库轻