📜  如何在 SQL Server 中有效地返回随机行?

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

如何在 SQL Server 中有效地返回随机行?

在本文中,我们将学习如何高效地返回随机行的 SQL 查询。要执行查询,我们将首先创建一个表并向其中添加数据。然后我们将根据随机创建的 ID 对数据进行排序(使用NEWID()方法),并在排序操作后返回最上面的行。我们在这里打印数据,所以我们将在 SQL 中使用“SELECT 命令”。

新ID():

NEWID( ) 是一个 SQL函数,用于生成唯一标识符类型的随机唯一值。

第 1 步:创建新数据库

要创建新的数据库,可以使用以下查询:

询问:

CREATE DATABASE random_sql;

步骤 2:指定正在使用的数据库

我们需要指定我们将在哪个数据库中进行操作。使用数据库的查询是:

询问:

USE random_sql;

第 3 步:创建新表

要创建一个新表,我们将使用以下查询:

询问:

CREATE TABLE random_table(
col1 INT,
col2 VARCHAR(100));

第四步:数据插入

要将数据插入表中,将使用以下查询:

询问:

INSERT INTO random_table(col1,col2)
VALUES 
(13,'John'),
(98,'Xin Fu'),
(87,'Utkarsh'),
(54,'Gordon'),
(1,'Graham');

第 5 步:选择随机数据

在这一步中,我们使用SELECT TOP子句创建最终查询。此子句用于从数据库中获取有限数量的行。返回的行将通过对表的操作随机化。我们为所有行分配一个随机 ID,并根据创建的 ID 对行进行排序,从而给我们一个随机排序的表来提取数据。为此,我们使用ORDER BY NEWID()。

SELECT TOP 3 *
FROM random_table
ORDER BY NEWID();

输出: