【发布时间】:2014-04-18 16:29:49
【问题描述】:
我有一个用于查询数据库的日期范围。返回的结果是一个哈希数组,如下所示:
[
{:created=>"2013-12-10", :amount=>1},
{:created=>"2014-02-20", :amount=>1},
{:created=>"2014-02-23", :amount=>4},
{:created=>"2014-02-24", :amount=>1},
{:created=>"2014-03-06", :amount=>1},
{:created=>"2014-03-14", :amount=>3},
{:created=>"2014-03-15", :amount=>1},
{:created=>"2014-03-17", :amount=>1},
{:created=>"2014-03-20", :amount=>1},
{:created=>"2014-03-21", :amount=>1},
{:created=>"2014-03-24", :amount=>1},
{:created=>"2014-03-25", :amount=>1},
{:created=>"2014-03-28", :amount=>1},
{:created=>"2014-04-05", :amount=>1},
{:created=>"2014-04-07", :amount=>1}
]
我需要做的是按月对amount 进行分组和求和,如果一个月没有数据但属于初始范围的一部分,则显示0。
所以在我上面的例子中,我查询数据库的日期范围是2013-11-13 到2014-04-18。
输出最终只是按月份分组并求和的基本数据数组。所以上面的例子应该产生:
[0, 1, 0, 6, 11, 2]
这些数组项对应于:11 月、12 月、1 月、2 月、3 月、4 月。
FWIW,我正在运行 Ruby 2.0.0,这是 Rails 4 应用程序的一部分,如果碰巧有一些特殊的 Rails 辅助方法在这里有用的话。
【问题讨论】:
标签: ruby-on-rails ruby