如何在纯SQL中请求随机行(或尽可能接近真正的随机行)?
参见这篇文章:SQL从数据库表中选择一个随机行。它介绍了在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