小编典典

如何在 SQL 中请求随机行?

all

如何在纯 SQL 中请求随机行(或尽可能接近真正随机)?


阅读 171

收藏
2022-03-08

共1个答案

小编典典

请参阅这篇文章:SQL to Select a random row from a database
table
。它通过在
MySQL、PostgreSQL、Microsoft SQL Server、IBM DB2 和 Oracle 中执行此操作的方法(以下是从该链接复制的):

使用 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
2022-03-08