每天的平均销售价格

时间:2013-01-03 19:12:14

标签: ruby-on-rails ruby postgresql activerecord

我的Rails应用程序带有PostgreSQL DB Sales Table,如下所示:

              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年的时间,因此循环每个小组并执行平均值的能力至关重要。

有没有人对如何写这个有任何建议?

1 个答案:

答案 0 :(得分:2)

你需要仔细检查语法,但是这样的事情应该在数据库中完成...

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

请注意,DATE_TRUNC是PG特定的。