我有一些难以编写的HQL查询,该查询会在满足某些标准的所有行中搜索表格,但我只想用最大日期返回该行。

例如,查询的哪个子句将是:

column1 = input1和column2 = input2和date_column <date_input

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

目前,我正在执行以上标准按日期下降的标准,然后在C#中获取第一项。我想拥有一个HQL查询或iCriteria解决方案,可以在可能的情况下一步一步进行。

有帮助吗?

解决方案

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

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

子征服, 聚合功能

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top