我在Rails中有一个模型,我想从中选择一个随机条目。 到目前为止,我已经有了这样的命名范围内做到了:在ruby/rails中从数组中加权的随机选择
named_scope :random, lambda { { :order=>'RAND()', :limit => 1 } }
但现在我已经添加了一个整型字段“重量”,以表示与各行应挑选的概率模型。
我该如何做一个加权随机选择?
我发现并尝试了snippets.dzone.com上的两种方法,它扩展了Array类并添加了加权随机函数,但两者都无效或为我选取了随机项。
我正在使用REE 1.8.7和Rails 2.3。
启发这可能是很好的DB你使用的是什么补充。在Ruby中做并不难,但在数据库中做它可能会更有效率。 – 2011-03-23 14:28:50
哦,是的,忘了提及我正在使用MySQL。但我非常专注于解决Ruby中的问题,甚至没有考虑在查询级别解决这个问题。 – capsized 2011-03-24 08:02:34