【问题标题】:Group by multiple columns in ActiveRecord在 ActiveRecord 中按多列分组
【发布时间】:2010-09-23 16:32:09
【问题描述】:

使用 Rails 3.0,我试图计算 column1 和 column2 的每个组合出现的次数。

IE A 列的值是 A-Z,B 列的值是 1-5,我想要 A1、A2 等的计数。

有没有办法按多列分组或加入结果的两列和组?在阅读文档时,不清楚如何实现这一点。

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:

    您应该能够指定多个要分组的属性。比如:

    MyClass.count(:all, :group => 'column1, column2')
    

    【讨论】:

    • 附录:看起来这在 Rails 5 中不起作用,尽管我同意 OP 适用于 Rails 3:(byebug) BillableService.count(:all, :group => 'product_id') *** ArgumentError Exception: wrong number of arguments (given 2, expected 0..1) (byebug) Rails.version "5.0.7"
    • 您应该可以使用更高版本的 Rails 执行 MyClass.group('product_id').count。我没有看到 2010 年会出现这种情况:)
    【解决方案2】:

    我相信这就是您想要做的:rails group by multiple columns。计算无法处理多列分组依据。您也可以使用 find_by_sql

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 2014-06-04
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 2021-12-24
      相关资源
      最近更新 更多