rails对具有相似属性的行的列值求和

时间:2011-01-12 22:51:10

标签: ruby-on-rails

我有一个包含列名和时间的Sites表。名称不必是唯一的。例如,我可能有条目'hi.com,5','hi.com,10','bye.com,4'。 我想总结所有独特的网站,以便我得到'hi.com,15'和'bye.com,4'用于绘图目的。我怎样才能做到这一点? (有些参考我正在看http://railscasts.com/episodes/223-charts,但我无法得到以下内容(翻译到我的桌子上)

def self.total_on(date) 
  where("date(purchased_at) = ?", date).sum(:total_price) 
end

我也不是真正理解'where("date(purchased_at) = ?", date)'部分的语法。

感谢帮助铁杆新手!

1 个答案:

答案 0 :(得分:3)

假设您有一个名为 Site 的模型,列名称时间

做你想做的事,只需说出像

这样的话
sites = Site.sum(:time, :group => 'name')

这会产生类似

的哈希值
{"bye.com"=>4, "hi.com"=>15}

然后,你可以用哈希

做任何你想做的事