Rails ActiveRecord:如何查询A列的最大值并按B列分组?

问题描述 投票:0回答:1

我想做类似的事情

  Model.select(column_a: :maximum, :column_b).group_by(:column_b)

我正在使用MySQL 5.6和Rails 5

mysql ruby-on-rails rails-activerecord
1个回答
0
投票

您可以使用DBMS max函数和GROUP BY:

Model.select('MAX(column_a) AS max').group(:column_b)

或使用ActiveRecord::Calculations#maximum方法,以及ActiveRecord::Calculations#maximum

group

尽管结果不同,因为它以如下形式返回哈希值:

Model.group(:column_b).maximum(:column_a)
© www.soinside.com 2019 - 2024. All rights reserved.