我需要知道我可以重寫NHibernate的的ICriteria格式下面的SQL查詢。它基本上是一種模仿MS-SQL的RANK()功能並僅返回最新的結果的方法。需要幫助複雜的SQL查詢NHibernate的
SELECT a.Name, a.Value, a.CreationDate
FROM MyTable a
WHERE EXISTS
(
SELECT NULL
FROM
(
SELECT TOP 1 CreationDate
FROM MyTable
WHERE Name = a.Name
ORDER BY CreationDate DESC
) b
WHERE b.CreationDate = a.CreationDate
)
例如,給定具有下列數據的表:
名稱,值CREATIONDATE
'鍵一次', '值的一個V1', '2009-11-11'
'關鍵一」, '值一個V2', '2009-11-12'
'兩個重點', '值的兩個V1', '2009-11-09'
'三個重點', '價值的三大V2', '2009-09-09'
'三個重點', '價值的三大V1', '2009-09-06'
「關鍵三分」, '價值的三大V3', '2009-10-01'
上述查詢的結果將是:
'鍵一', '值一個V2', '2009-11-12'
'兩個重點', '值的兩個V1', '2009-11-09'
'三個重點',「價值的三大V3, '2009-10-01'