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

SQL Developer连接MSSQL时无法使用ROWNUM限制行数的问题

MSSQL中限制查询结果行数的正确方法

你使用的rownum是Oracle数据库专属的伪列,SQL Server(MSSQL)并不支持该语法,因此会提示「Invalid column name 'rownum'」。针对MSSQL,有两种常用的方法可以限制查询结果的行数:

1. 使用TOP子句(兼容所有SQL Server版本)

这是MSSQL传统的行数限制方式,直接在SELECT后指定要返回的行数。你的需求是返回前39行(对应原语句的rownum < 40),写法如下:

SELECT TOP 39 * FROM student3;

如果需要先对结果排序再限制行数(推荐,避免返回顺序不确定):

SELECT TOP 39 * FROM student3 ORDER BY student_id; -- 替换student_id为实际排序字段

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

这是符合SQL标准的语法,灵活性更高,支持跳过指定行数后再取数据:

SELECT * FROM student3
OFFSET 0 ROWS FETCH NEXT 39 ROWS ONLY;
  • OFFSET 0 ROWS:表示不跳过任何行
  • FETCH NEXT 39 ROWS ONLY:表示只取接下来的39行

同样,结合排序的写法:

SELECT * FROM student3
ORDER BY student_id -- 替换student_id为实际排序字段
OFFSET 0 ROWS FETCH NEXT 39 ROWS ONLY;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:45:36