请原谅我再次回答这个问题,但我需要对此进行 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
在这种情况下,我不知道如何获得我需要的东西。 有人知道吗?
最佳答案
SQL 查询具有分组依据和按计数排序。 JPA 查询没有任何分组依据和按用户名排序。所以我不明白他们如何返回同样的东西。
等效的 JPQL 查询是
select r.username, count(r.id)
from Record r
group by r.username
order by count(r.id) desc
如果您对 Query 对象调用 setMaxResults(1)
,限制子句将添加到生成的 SQL 查询中,使其完全等效。
关于java - (JPQL) - 查询获取记录数最多的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14550430/