请原谅我再次讨论这个问题,但我需要有一个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
在这种情况下,我不知道如何得到我需要的东西。 有没有人有任何想法?
答案 0 :(得分:2)
SQL查询具有分组依据和按顺序排序。 JPA查询没有任何group by和用户名order。所以我不知道他们怎么能回报同样的事情。
等效的JPQL查询是
select r.username, count(r.id)
from Record r
group by r.username
order by count(r.id) desc
如果在Query对象上调用setMaxResults(1)
,则会将limit子句添加到生成的SQL查询中,使其完全等效。