レポート システムからのレコードが毎日入力されるテーブルがあります。資産リストに返したいシリアル番号のリストがあります。各アセットの最大「エポック」エントリに一致するレコードを 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」があり、整数エポック、文字列 sn などがあるとします。
文字通り、リストにあるシリアル番号 (sn) のサブセットの最新のエントリ (すべてのフィールド) を取得するだけです。