JPQL Group By - Limit ResultSet

时间:2013-06-27 16:02:57

标签: group-by limit resultset jpql rownum

我有这样的JPQL:

SELECT T0.id, T0.info, COUNT(T0.entry) AS count_entry FROM myObject AS T0 WHERE T0.someValue = 1 GROUP BY T0.id, T0.info

我想获得前100个结果。我遇到的问题是,如果我声明maxResults-Parameter,则将ROWNUM< = 100添加到where子句中。在分组发生之前评估where子句 - 所以我在结果列表中得不到100个结果,因为分组,我得到的结果更少。

在分组后限制结果集的任何想法?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。如果添加order-by子句,问题就解决了,结果数量的限制是围绕另一个查询的额外查询。

查询按预期工作:

SELECT T0.id, T0.info, COUNT(T0.entry) AS count_entry FROM myObject AS T0 WHERE T0.someValue = 1 GROUP BY T0.id, T0.info ORDER BY T0.id