【问题标题】:order and limit with ActiveRecord sum?ActiveRecord 总和的顺序和限制?
【发布时间】:2010-11-22 20:57:21
【问题描述】:

我有这个 ActiveRecord 总和:

@websites = current_user.records.sum(:minutes, :group =>'website', :conditions => "website IS NOT NULL")

我想将其限制为 10 分钟的最高总和。有人可以让我知道它的语法吗?

提前致谢。

【问题讨论】:

    标签: ruby-on-rails ruby activerecord


    【解决方案1】:

    您可以通过求和列:order,然后将:limit 增加到 10 行,如下所示:

    @websites = current_user.records.sum(:minutes,
        :group => 'website',
        :conditions => 'website IS NOT NULL',
        :order => 'SUM(minutes) DESC',
        :limit => 10)
    

    【讨论】:

      【解决方案2】:

      只需添加一个:limit,如下所示:

      current_user.records.sum(:minutes, :group => '', :conditions => '', :limit => num)
      

      【讨论】:

      • 这行不通。这将只返回前 10 行,但没有按求和列的降序排序 by 的请求顺序。
      • 那么添加 :order 怎么样?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-12
      • 2020-08-17
      • 2017-07-01
      • 2015-01-04
      • 2015-11-07
      • 1970-01-01
      • 2014-12-10
      相关资源
      最近更新 更多