1

我有一个带有 PostgreSQL 数据库销售表的 Rails 应用程序,如下所示:

              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 年的时间,所以能够遍历每个每日组并执行平均值是必不可少的。

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

4

1 回答 1

3

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

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

请注意, DATE_TRUNC 是特定于 PG 的。

于 2013-01-03T19:31:58.030 回答