如何在纯 SQL 中请求随机行(或尽可能接近真正随机)?
请参阅这篇文章: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