従業員ごとに複数の行を格納するテーブルで、各従業員の最新のエントリを表す従業員ごとに 1 つの行を取得したいと考えています。これが私が手書きのSQLを使用している場所です。
SELECT [all the selected columns here]
FROM Nominations t
inner join
(select max(NominationId) mostRecentNominationId,
EmployeeId from Nominations group by EmployeeId) n
on n.mostRecentNominationId = t_.NominationId
次のようなソース データから:
nomination_id employee_id
-------------------------------
1 5
2 5
4 10
7 10
それは私に次のようなものを与えるでしょう:
nomination_id employee_id
-------------------------------
2 5
7 10
NHibernate ICriteria を介してそのタイプのクエリを実行する方法を理解できませんでした。何かご意見は?