小编典典

如何在 SQL 中随机选择行?

all

我使用的是 MSSQL Server 2005。在我的数据库中,我有一个表“customerNames”,它有两列“Id”和“Name”,大约 1,000
个结果。

我正在创建一个功能,每次我必须随机选择 5 个客户。谁能告诉我如何创建一个查询,每次执行查询时都会随机获得 5 行(ID 和名称)?


阅读 73

收藏
2022-05-12

共1个答案

小编典典

SELECT TOP 5 Id, Name FROM customerNames
ORDER BY NEWID()

就是说,似乎每个人都来到此页面以获得对您问题的更一般的答案:

在 SQL 中选择随机行

使用 MySQL 选择一个随机行:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

使用 PostgreSQL 选择一个随机行:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

使用 Microsoft SQL Server 选择随机行:

SELECT TOP 1 column FROM table
ORDER BY NEWID()

使用 IBM DB2 随机选择一行

SELECT column, RAND() as IDX 
FROM table 
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

使用 Oracle 选择一条随机记录:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

使用 sqlite 选择随机行:

SELECT column FROM table 
ORDER BY RANDOM() LIMIT 1
2022-05-12