nHibernate HQL查询中的最大日期

时间:2011-11-30 17:59:39

标签: nhibernate hql icriteria

我正在编写一个难以编写的hql查询,该查询将在表中搜索满足某些条件的所有行,但我只想返回具有最大日期的行。

例如,查询的where子句类似于:

column1 = input1和column2 = input2和date_column< date_input

这可能会返回具有不同日期的多行,但我只对具有最新日期的行感兴趣。我还需要它来返回整行。

目前,我正在使用上面按日期排序的标准执行查询,然后在C#中获取第一个项目。我希望有一个hql查询或iCriteria解决方案,如果可能的话,可以一步完成。

1 个答案:

答案 0 :(得分:4)

您只需要使用子查询。从符合条件的行中选择最大日期,然后选择与最大日期匹配的所有记录。我的HQL有点生疏,但你明白了。

from TableA a 
where a.Date in (
    select max(b.Date) 
    from TableA b 
    where b.Something="You get the idea"
)

SubqueriesAggregate Function