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

📅  最后修改于: 2022-05-13 01:55:43.753000             🧑  作者: Mango

如何限制 SQL Server 中的行数?

在本文中,我们将通过不同的示例了解如何在 SQL 中限制行。我们将看到如何使用 SQL 查询并根据不同的条件和限制获取结果数据。

出于演示的目的,我们将在名为“GeeksForGeeksDatabase”的数据库中创建一个参与者表。

步骤 1:创建数据库

使用以下 SQL 语句创建名为GeeksForGeeksDatabase 的数据库。

询问:

CREATE DATABASE GeeksForGeeksDatabase;



步骤 2:使用数据库

使用以下 SQL 语句将数据库上下文切换到 GeeksForGeeksDatabase。

询问:

USE GeeksForGeeksDatabase;

第 3 步:表定义

询问:

CREATE TABLE Participant (
 ID INTEGER PRIMARY KEY,
 Name TEXT NOT NULL,
 Percentage INTEGER NOT NULL,
 Branch TEXT NOT NULL
);

第 4 步:向表中插入数据

询问:

INSERT INTO Participant VALUES (55, 'BB',81 ,'Civil');
INSERT INTO Participant VALUES (56, 'NN',75 ,'IT');
INSERT INTO Participant VALUES (57, 'RR',100 ,'CSE');
INSERT INTO Participant VALUES (58, 'SS',94 ,'Civil');

您可以使用以下语句查看创建的表的内容:

询问:



SELECT * FROM Participant;

现在让我们看看如何在这里使用限制查询。为了限制 MS Access 的结果数据,我们使用 SELECT TOP 语法。 LIMIT 语法适用于 MYSQL。在 Microsoft 数据库中,我们使用以下语法(TOP 类似于 MYSQL 中的 LIMIT)

MySQL 中带有 TOP 和 ORDER BY 语句的 SELECT 语法:

询问:

SELECT TOP(count) column1, column2, ...,column n 
FROM table_name
[WHERE your conditions]
[ORDER BY expression [ ASC | DESC ]];

在上述语法中, WHERE条件是可选条件,对于要选择的记录必须为真。

ORDER BY表达式是查询中的一个可选语句,用于根据关键字(ASC 或 DESC)以升序或降序返回结果。这里count是要从结果中返回的行数。

让我们使用一些示例查询来理解这一点。

查询 1:

SELECT TOP(2) *
FROM Participant
ORDER BY Percentage DESC;

输出:

使用 TOP 查询,我们从我们的表数据中找到了具有最大百分比的 2 个顶级参与者,并且不想使用任何条件语句。 ORDER BY Percent DESC 已按降序对记录进行排序,并使用 LIMIT 2 我们从排序结果中获得前 2 行。



我们还可以在上面的示例中使用 WHERE 子句包含一些情况。假设我们不希望 ID 58 的参与者出现在我们的结果集中。

我们可以编写如下查询:

查询 2:

SELECT TOP(2) *
FROM Participant
WHERE ID != 58
ORDER BY Percentage;

输出:

上述查询将根据强加条件选择所有参与者(即将选择除ID 58参与者之外的所有参与者)然后结果将按百分比升序排序(ORDER BY关键字默认按升序对记录进行排序) .最后,上面的查询将返回前 2 行,正如我们提到的 TOP(2)。

这就是我们如何使用 TOP 限制 SQL 中表中的记录。我们可以进一步玩 SQL 查询,并根据不同的条件和限制获取结果数据。