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 と orders by count があります。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 クエリに limit 句が追加され、完全に同等になります。

于 2013-01-27T18:15:41.063 に答える