我正在尝试在休眠中编写一个简单的查询,在其中我只得到一个得分最高的用户的降序列表。基本上我正在尝试编写这个查询select user_id from user_points group by user_id order by sum(points) desc
。这适用于我正在处理的 Postgres 数据库。
我有以下 HSQL 查询select c.user from UserPoints c group by c.user order by sum(c.points) desc
。Points 表有一个名为 user_id 的列,它引用用户表。在我们的映射中,user_id 被映射到一个 User 类。
但是,当我运行此查询时,我得到列“user1_.user_id”必须出现在 GROUP BY 子句中或用于聚合函数中。我尝试搜索类似的问题,但只是真正想出了这个:JPA 查询/休眠:列必须出现在 GROUP BY 子句中或用于未回答的聚合函数中。
我有点坚持使用 HQL,因为我需要做的另一件事是加入一个没有映射关联的表(但也有一个 user_id 键)。我也试图尽可能快地保持这个查询。任何帮助都会非常感激,因为我真的很困惑为什么这不起作用。