Rails - 如何创建对列进行求和的高级数组?

时间:2011-02-17 12:10:19

标签: ruby-on-rails ruby

如何创建一个数组,该数组对日期中的列收入进行求和。

所以输出如下:

[<sum of 'earn' where dato=2011-02-14>, <sum of 'earn' where dato=2011-02-15>]

如何创建一个找到最后日期的开始点。

我的表

id  virksomhed  dato                   earn     
9   Euroads     2011-02-15 00:00:00     4 
10  Euroads     2011-02-15 00:00:00     4   
11  Iqmedier    2011-02-15 00:00:00     2   
12  Iqmedier    2011-02-15 00:00:00     3   
12  Iqmedier    2011-02-14 00:00:00     3  

{
        name: "Indtjening",
        pointInterval: <%= 1.day * 1000 %>,
        pointStart: How to create point start,
        data: 
      },
       {
        name: "Iqmedier",
        color: '#DBD200',
        pointInterval: <%= 1.day * 1000 %>,
        pointStart: How to create point start,
        data: <%= Reklamer.where(:virksomhed => 'Iqmedier').all.map(&:earn) %>
      }
      ,
       {
        name: "Euroads",
        color: '#1B7B94',
        pointInterval: <%= 1.day.to_i * 1000 %>,
        pointStart: How to create point start,
        data: <%= Reklamer.where(:virksomhed => 'Euroads').all.map(&:earn) %>
      }

2 个答案:

答案 0 :(得分:0)

Model.find(:all, :select => 'sum(earn) AS earn', :group => 'dato').map(&:earn)

答案 1 :(得分:0)

Reklamer.sum(:earn, :group => :dato)
#<OrderedHash { 2011-02-14 00:00:00 => 3, 2011-02-15 00:00:00 => 13}>