2013-10-17 35 views
-2

嗨,我是Ruby on Rails的新用戶。我使用設備創建了用戶,在創建用戶配置文件時,用戶輸入的數字字段限制爲5個數字。現在我需要從所有用戶那裏獲得最常用的號碼。我怎麼能這樣做?RUBY:用戶最常見的號碼

我想在我的管理控制器中顯示最常見的數字,請幫助。

+0

請描述你到目前爲止所嘗試過的。 StackExchange的本質是我們幫助人們解決代碼中的特定錯誤。你不太可能讓某人教你基本的策略(儘管你可能會幸運) –

+0

你應該谷歌的「sql分組計數」按數字字段分組你的用戶,然後得到每個值的計數。 –

回答

1

您可以通過執行

array = User.all.map(&:numeric_field) # assuming there is a numeric_field column 

獲得數字字段的數組,那麼你可以得到最常見的數以幾種不同的方法(稱爲「模式」),通過這個帖子引用:Ruby: How to find item in array which has the most occurrences?

如果你有很多用戶,這種方式可以養豬的內存,在這種情況下,你可以做的操作分批:

array = [] 
User.find_in_batches do |users| 
    array += users.map(&:numeric_field) 
end 

,然後只用了array和以前一樣。