2011-06-09 21 views
0

假设我有一些自然的分组和排序,按日期,在任何给定日期的记录是由一些其他的区别字段排序例如记录的表JPA查询,找到值的记录组的选定成员

1 July, 1, 56.6 
    1 July, 2, 45.8 
    1 July, 3, 78.9 
    2 July, 1, 34.2 
    2 July, 2, 26.7 

我想选择与每一天的最高区分,例如记录,在

1 July, 3, 78.9 
    2 July, 2, 26.7 

在这个简单的情况下得到的。我想不出如何构建查询来检索这些记录。到目前为止,我正在拉回整个集合并选择Java - 不是我真正想做的事情。

回答

1

也许类似,

Select o from MyClass o where o.value = (Select Max(g.value) from MyClass g where g.date = o.date) 
+0

谢谢,值得一试。当我试图想象执行时,我的头旋转。 – djna 2011-06-09 15:02:53

+0

我现在测试了这个解决方案,效果很好。谢谢。 – djna 2011-07-15 09:37:33