2011-01-12 49 views
2

我有一個具有列名稱和時間的站點表。名稱不必是唯一的。因此,例如,我可能有'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)」部分的語法。

感謝您的幫助一軌新手!

回答

3

讓我們假設你有一個名爲網站模式,與列時間

做你想做什麼,只是說,像

sites = Site.sum(:time, :group => 'name') 

這將導致像

{"bye.com"=>4, "hi.com"=>15} 

哈希的話,你可以做任何你想要的哈希

+0

啊是啊我也是這樣想的。謝謝! – butterywombat

+0

有沒有一種快速的方法從結果散列中得到['bye.com','hi.com']和/或[4,15]? – butterywombat

+1

是的。你可以打電話sites.keys和sites.values –

相關問題