2013-01-03 85 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

相关问题