2013-01-03 82 views
0

我的Rails應用程序有一個PostgreSQL數據庫表的銷售看起來像這樣:平均銷售價格爲每

   Sales 
price(decimal) date(datetime) 
100.20   11/25/2012 11:00:00 
30.43   11/26/2012 03:00:00 
124.43   11/25/2012 18:00:00 
190.34   11/26/2012 22:00:00 

數據庫有成千上萬的這樣的記錄,跨越了10年。

我需要找到每天的平均銷售價格,並通過rake任務將每個存儲爲另一個數據庫表中的單獨記錄。

爲了更加清晰,銷售人員需要按天分組(即使數據是日期時間格式),然後需要對當天的價格進行平均。

由於我有10年的日子,循環遍歷每個日常羣體並執行平均值的能力至關重要。

有沒有人有任何建議,如何寫這個?

回答

2

你需要仔細檢查語法,但這樣的事情應該做的數據庫中的所有...

Sales.average(:price, :group => "DATE_TRUNC('day', date)") 

注意DATE_TRUNC是PG具體。

+0

哇!工作就像一個魅力菲利普:)你有任何語法建議新的Rails/Ruby用戶將每個結果保存爲一個單獨的對象名爲SalesAverage與日期和平均價格列分別填寫上面的代碼的結果? – ac360

+0

@ ac360除了循環播放結果和做它...不... –

+0

哈。好的,謝謝菲利普。你一直很善良。感謝您的時間 :) – ac360

相關問題