如何在 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();
输出: