0

请原谅我再次讨论这个问题,但我需要对此进行 JPA 查询:

select username, count(*)
from Records
group by username
order by count(*) desc
limit 1

我想过这样的事情:

select r.username,count(*) from Records r order by r.username desc

然后打电话

getResultList().get(0)

但我只能写:

select r from Records r order by r.username desc

在这种情况下,我不知道如何获得我需要的东西。有谁有想法吗?

4

1 回答 1

2

SQL 查询具有 group by 和 order by count。JPA 查询没有任何分组依据和用户名排序。所以我不明白他们怎么能返回同样的东西。

等效的 JPQL 查询是

select r.username, count(r.id)
from Record r
group by r.username
order by count(r.id) desc

如果调用setMaxResults(1)Query 对象,limit 子句将被添加到生成的 SQL 查询中,使其完全等效。

于 2013-01-27T18:15:41.063 回答