Ruby on rails 每天的平均售价

Ruby on rails 每天的平均售价,ruby-on-rails,ruby,postgresql,activerecord,Ruby On Rails,Ruby,Postgresql,Activerecord,我有一个Rails应用程序,其PostgreSQL DB Sales表如下所示: 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 DB有数千条这样

我有一个Rails应用程序,其PostgreSQL DB Sales表如下所示:

              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
DB有数千条这样的记录,跨越10年

我需要找到每天的平均销售价格,并通过rake任务将每个价格保存为另一个DB表中的单独记录

为进一步明确起见,需要按天对销售额进行分组(即使数据采用datetime格式),然后需要对当天的价格值进行平均

因为我有10年的工作日,所以我必须能够循环每一天的工作组并计算平均值


有人对如何写这篇文章有什么建议吗

您需要仔细检查语法,但类似这样的操作应该在数据库中完成

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

请注意,日期是特定于PG的。

哇!Philip:)对于新Rails/Ruby用户将每个结果保存为一个名为SalesAverage的单独对象,并使用上述代码的结果分别填写日期和平均价格列,您有什么语法建议吗?哈哈。好的,谢谢你,菲利普。你真是太好了。感谢您抽出时间:)