📜  如何限制 SQL Server 中的行数?(1)

📅  最后修改于: 2023-12-03 15:38:57.585000             🧑  作者: Mango

如何限制 SQL Server 中的行数?

在 SQL Server 中,我们有时需要限制查询结果的行数,比如只要前 10 条或者只要返回满足条件的前 100 行。这个时候,我们可以使用以下两种方法来限制 SQL Server 中的行数。

方法一:使用 TOP 关键字

我们可以使用 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;
方法二:使用 OFFSET 和 FETCH 关键字

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 中的行数的两种方法,根据具体情况选择合适的方法即可。