我正在寻找一种从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