我在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