有没有办法从数据库表中显示一定数量的随机记录,但是很受创建日期和时间的影响。是否有用于显示伪随机数据库记录的SQL Server功能?
例如:
- 出10条随机的,但
表示具有比最早
更多的频率最新的说,有在
news
表100项- 最近(按日期时间)的记录几乎有100%被选中的几率
- 第一(由日期时间)记录将有被选择
- 第50(由日期时间)记录的几乎0%的机会将有被选择
的50%的机会是存在于MSSQL这样的事直?或者是否有一些功能(最佳做法)在C#我可以使用这个?
日Thnx
** 编辑:标题实在是太可怕了,我知道了。如果您有更具描述性的内容,请修改。 thnx
我们在谈论多少条记录?是否附有数字ID? – aronchick 2010-07-09 22:01:53
一个简单的方法是根据你想要多少元素来选择元素中的每一个元素。然后你总结所有这些权重,并在该范围内选择一个随机数。然后再次遍历所有元素,找出实际选取的元素。例如,3个元素的权重分别为25,25和50.您随机选取了第37个元素,这个元素位于第2个元素(25-49,含)之内。 – 2010-07-09 22:02:43
@aronchick记录可以从1到最大诠释我猜:P – b0x0rz 2010-07-09 22:05:31