ほとんどのコメントを持つユーザーを選択するjpqlクエリを作成しようとしています。 2人のユーザーが同じ数のコメントを持っている場合は、両方を選択したいと思います。サブクエリで最大数を選択するJPQL
私は、このような何かこれを試してみました:
SELECT
c.user, COUNT(c.id) as commentCount
FROM
Comment c
WHERE
commentCount = (SELECT MAX(SIZE(user.comments)) FROM User user)
GROUP BY
c.user
と、この:
SELECT
c.user
FROM
Comment c
GROUP BY
c.user
HAVING
COUNT(c) = (SELECT MAX(SIZE(user.comments)) FROM User user)
どちらのアプローチが動作します。ここで何をする必要がありますか?
あなたは動作しませんでしたと言うとき、あなたは2人のユーザーがコメントの同じ#を持っていたとき、それが唯一のユーザーを選択した意味ですか? – Victor
あなたが試すことができます: 選択* s1の場所( コメントCからのcommentCount として c.user、COUNT(c.id)を選択)からs1.commentCount =(選択最大(s2.coomentCount)SELECTから c.user 、COUNT(c.id)as commentCount FROM コメントc)s2 – Victor
何らかの形で間違っているため、「問合せを実行できませんでした」というメッセージが表示されます。ですから、最初は "不明な列" jobsCount "where句"を取得し、2番目のグループは無効です(HAVING部分を追加すると)。しかし、私は働くバージョンをどのように書くのか分からない。既に多くの異なるバージョンを試しました。 –