【问题标题】:Getting maximum values from a table column, for associated id's from another column从表列中获取最大值,从另一列获取关联的 id
【发布时间】:2019-07-18 23:50:09
【问题描述】:

我需要从最小值表中获取每个供应商 ID 的最大支出价格。每个供应商都有多个支出价格,我似乎找不到有效的查询来提取每个供应商的最大支出价格。

我尝试过排序和分组,但这似乎是一种非常复杂的方法

min = Minimum.where(supplier_profile_id: [10005, 100010])
min.order(spend_price: :desc, supplier_profile_id: 
   :desc).group_by(&:supplier_profile_id)
min.each do |key, value|
                        max_spend_prices << [key, value[0].spend_price]
                    end

【问题讨论】:

  • 你能发布实际的模型关系吗? spend_price 是什么?它是具有belongs_to :minimum 关系的模型吗?
  • spend_price 是最小表中的一列,supplier_profile_id 也是最小表中的一列

标签: ruby-on-rails ruby activerecord


【解决方案1】:

我想这就是你要找的东西

Minimum
  .where(supplier_profile_id: [10005, 100010])
  .group(:supplier_profile_id)
  .maximum(:spend_price)

【讨论】:

    【解决方案2】:
    Minimum.group(:supplier_profile_id).maximum(:spend_price)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 2022-12-16
      • 2016-01-21
      • 2020-05-19
      • 2020-11-28
      • 2014-01-16
      • 1970-01-01
      相关资源
      最近更新 更多