Я столкнулся с чем-то, что я не знаю, как сделать с активной записью (на самом деле я не мог точно сказать, как это сделать с sql), что я хотел бы сделать.Я хотел бы выбрать записи на основе наибольшего значения определенного поля, а также некоторых других критериев.Ниже приведены некоторые псевдо-вещи, которые объясняют мою ситуацию.Учитывая следующие записи:
id:1 | name:recipe1 | saved:true | revision:1
id:2 | name:recipe1 | saved:false | revision:2
id:3 | name:recipe1 | saved:true | revision:3
id:4 | name:recipe1 | saved:false | revision:4
id:5 | name:recipe2 | saved:true | revision:1
id:6 | name:recipe2 | saved:true | revision:2
id:7 | name:recipe3 | saved:false | revision:1
id:8 | name:recipe4 | saved:true | revision:1
Я хотел бы иметь возможность получить записи с наибольшим номером ревизии, который был сохранен.Это означало бы записи с идентификаторами: 3, 6 и 8
Мой первый инстинкт - сделать какой-то подзапрос, который получает MAX при ревизии или что-то в этом роде.Кроме этого, я не имею ни малейшего понятия, как это сделать, поэтому любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ:
это SQL, который делает то, что я хочу:
SELECT id, name, MAX(revision) as "revision" FROM revisions WHERE saved = 1 GROUP BY name
Теперь, есть ли разумный способ сделать это с ActiveRecord?