問題

如何在純SQL中請求隨機行(或儘可能接近真正的隨機行)?

  最佳答案

見this post: 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
 

  相同標籤的其他問題

sqlrandom