我正在尋找一種從SQL數據庫中隨機獲取單個結果的高效方法。ASP.NET查詢獲取隨機對象
我想要完成的是「點擊此處查看新提示」,其中提示從數據庫中隨機選擇。爲了簡化,我不關心這個用戶是否最近或以前已經看過這個技巧。
我意識到我可以得到所有提示,然後隨機選擇一個,但這似乎非常低效,是否有內置或簡單的「隨機」功能?
在此先感謝
我正在尋找一種從SQL數據庫中隨機獲取單個結果的高效方法。ASP.NET查詢獲取隨機對象
我想要完成的是「點擊此處查看新提示」,其中提示從數據庫中隨機選擇。爲了簡化,我不關心這個用戶是否最近或以前已經看過這個技巧。
我意識到我可以得到所有提示,然後隨機選擇一個,但這似乎非常低效,是否有內置或簡單的「隨機」功能?
在此先感謝
它會爲你的工作(我假設你正在使用SQLServer的)?
SELECT TOP 1 * FROM Your_Table ORDER BY NEWID()
只需使用你的數據庫的RAND函數:http://msdn.microsoft.com/en-us/library/ms177610.aspx。非常高效!
'RAND()'並不總是按需要工作(請參閱http://www.sql-server-helper.com/tips/generate-random-records.aspx) – a1ex07
我在提出這個問題之前看到了這個,它聽起來非常低效。我發現這個文件後:http://www.petefreitag.com/item/466.cfm – Valchris
也許你可以回答我的問題,從我讀它的文檔聽起來像這樣爲表中的所有條目創建一個新的臨時ID之前選擇一個,是否真的可擴展? – Valchris