【问题标题】:Calculate running total rails 3计算运行总轨道 3
【发布时间】:2011-09-01 23:17:24
【问题描述】:

在 Rails 中计算运行总数的最佳方法是什么?

我有一个模特,Sale。它有一个数量列和一个 sales_value 列。当表按 isbn_id、channel_id、invoice_date 排序时,我需要使用先前记录的数量值的总和填充第三列 total_quantity。这为各种明智的数据库管理敲响了警钟,所以我想知道这是否可能。

需要此累积总和的原因是对累积数量在特定范围内的销售额应用一个百分比。我不能在所有记录中使用平均销售价值,因为销售利润率会随着时间的推移而发生巨大变化 - 所以我会将平均值应用于可能超过或低于支付版税收款人的一堆销售。

所以。我应该以某种方式对 Sale 模型和 update_attribute 进行 before_save 回调吗?当表以特定方式排序时,是否有一种方法可以返回前一条记录的值?或者我应该将所有销售记录转储到一个数组中,并可能使用注入来累积运行总数?

欢迎提出任何想法,在此先感谢。

更新:here 提出了后续问题。

【问题讨论】:

    标签: ruby-on-rails arrays ruby-on-rails-3 callback inject


    【解决方案1】:

    不要使用注入(srsly)。最好的方法是使用 SQL 组命令和/或 activerecord 中的计算方法(如 sum)

    http://ar.rubyonrails.org/classes/ActiveRecord/Calculations/ClassMethods.html

    【讨论】:

      猜你喜欢
      • 2017-10-04
      • 2023-03-23
      • 2012-07-03
      • 1970-01-01
      • 2015-03-23
      • 2020-06-30
      • 2014-06-14
      • 2012-05-21
      • 1970-01-01
      相关资源
      最近更新 更多