Как выбрать максимальную запись для каждой группы кандидатов в Grails? - PullRequest
0 голосов
/ 19 января 2012

У меня есть таблица, которая ежедневно заполняется записями из систем отчетности. У меня есть список серийных номеров тех, кого я заинтересован в возвращении в список активов. Как заставить Grails возвращать записи, которые соответствуют максимальной записи "эпохи" для каждого актива? В sql я бы скрестил таблицу обратно к себе после выбора максимума, такого как:

select a.* from assetTable a inner join (select sn, max(epoch) epoch from assetTable group by sn) b on a.sn = b.sn and a.epoch = b.epoch

но я не могу понять, как сделать это эффективно с Grails ...

С точки зрения класса домена это довольно просто. Рассмотрим для того же примера, что у меня есть один класс домена «AssetTable», и он имеет целую эпоху, String sn, ...

В буквальном смысле, все, что я хочу сделать, это получить последнюю запись (все поля) для подмножества серийных номеров (sn), которые у меня есть в списке.

...