You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL Server Management Studio中限制查询返回行数?

在SQL Server中限制返回行数的正确方法

SQL Server(包括你使用的SQL Server Management Studio)不支持LIMIT语法,这个语法常见于MySQL、PostgreSQL等数据库,这就是你触发报错的原因。要限制返回指定数量的数据,有两种常用的可行方法:

方法1:使用TOP子句

这是SQL Server传统的行限制方式,直接在SELECT后指定要返回的行数:

SELECT TOP 3 [Column A] 
FROM [DB].[Ordering In DB].[Table] 
WHERE [Column B] = 30;

如果需要动态指定行数(比如用变量@x),可以这样写:

DECLARE @x INT = 5;
SELECT TOP (@x) [Column A] 
FROM [DB].[Ordering In DB].[Table] 
WHERE [Column B] = 30;

方法2:使用OFFSET...FETCH NEXT(SQL Server 2012及以上版本)

这是符合ANSI标准的语法,更适合分页场景,但必须搭配ORDER BY子句使用(否则返回的行顺序不确定):

SELECT [Column A] 
FROM [DB].[Ordering In DB].[Table] 
WHERE [Column B] = 30
ORDER BY [Column A] -- 指定排序字段保证结果稳定
OFFSET 0 ROWS FETCH NEXT 3 ROWS ONLY;

如果要获取后续区间的数据(比如第4到第6条),只需修改参数:OFFSET 3 ROWS FETCH NEXT 3 ROWS ONLY即可。


内容的提问来源于stack exchange,提问作者svsw13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 14:20:49