📅  最后修改于: 2023-12-03 15:38:57.585000             🧑  作者: Mango
在 SQL Server 中,我们有时需要限制查询结果的行数,比如只要前 10 条或者只要返回满足条件的前 100 行。这个时候,我们可以使用以下两种方法来限制 SQL Server 中的行数。
我们可以使用 TOP 关键字来限制查询结果的行数。以下是使用 TOP 关键字的基本语法:
SELECT TOP [number] column1, column2, ...
FROM table_name
WHERE condition;
其中,[number]
表示要返回的行数,column1
, column2
, ... 表示要返回的列,table_name
表示要查询的表,condition
表示查询条件。
例如,以下 SQL 语句可以返回得到 users
表中前 10 条数据:
SELECT TOP 10 * FROM users;
SQL Server 2012 及以后版本支持使用 OFFSET 和 FETCH 关键字来限制查询结果的行数。以下是使用 OFFSET 和 FETCH 关键字的基本语法:
SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column1, column2, ...
OFFSET [offset number] ROWS
FETCH NEXT [fetch number] ROWS ONLY;
其中,column1
, column2
, ... 表示要返回的列,table_name
表示要查询的表,condition
表示查询条件,column1
, column2
, ... 表示排序的列,[offset number]
表示要跳过的行数,[fetch number]
表示要返回的行数。
例如,以下 SQL 语句可以返回得到 users
表中符合条件的前 50 条数据:
SELECT * FROM users
ORDER BY id
OFFSET 0 ROWS
FETCH NEXT 50 ROWS ONLY;
以上就是限制 SQL Server 中的行数的两种方法,根据具体情况选择合适的方法即可。