2011-06-09 22 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