如何在SQL中请求随机行? [英] How to request a random row in SQL?
问题描述
如何在纯SQL中请求随机行(或尽可能接近真正的随机行)?
How can I request a random row (or as close to truly random as is possible) in pure SQL?
推荐答案
请参阅此文章: SQL to从数据库表中选择一个随机行.它介绍了在MySQL,PostgreSQL,Microsoft SQL Server,IBM DB2和Oracle中执行此操作的方法(以下内容是从该链接复制的):
See this post: SQL to Select a random row from a database table. It goes through methods for doing this in MySQL, PostgreSQL, Microsoft SQL Server, IBM DB2 and Oracle (the following is copied from that link):
使用MySQL选择一个随机行:
Select a random row with MySQL:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
使用PostgreSQL选择一个随机行:
Select a random row with PostgreSQL:
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1
使用Microsoft SQL Server选择一个随机行:
Select a random row with Microsoft SQL Server:
SELECT TOP 1 column FROM table
ORDER BY NEWID()
使用IBM DB2选择随机行
Select a random row with IBM DB2
SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
使用Oracle选择随机记录:
Select a random record with Oracle:
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
这篇关于如何在SQL中请求随机行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!