仅显示具有相同属性的最高值的记录

时间:2017-08-28 12:08:46

标签: ruby-on-rails activerecord

我的模型teststep具有sequencerevision属性。属性revision包含每个具有相同sequence的记录的数字增加,如下所示:

id: 1, sequence: 1, revision: 1
id: 2, sequence: 2, revision: 1
id: 3, sequence: 2, revision: 2
id: 4, sequence: 2, revision: 3

如何获取包含所有不同sequence的记录,但只有最高revision,在这种情况下记录id 1和4?我尝试了不同的东西,但这不起作用。

2 个答案:

答案 0 :(得分:2)

试试这个

Teststep.group(:sequence).having('Max(revision) >= revision')

答案 1 :(得分:1)

此代码应该可以解决问题

TestStep.group(:sequence).pluck(:id, :sequence, 'MAX(revision)')