Critera API JPA中的聚合(总和、最大值、平均值)函数
在我的CriteriaAPI查询中,我查询表的三列时使用以下查询 cq.multiselect(root.get(“point”).get(“id”)、root.get(“player”).get(“userid”)、root.get(“amount”)强> 但是,当我使用下面的查询需要列金额的总和时,它会给出一个sql错误。问题是 cq.multiselect(root.get(“point”).get(“id”)、root.get(“player”).get(“userid”)、cb.sum(root.get(“amount”))强> 我得到的错误是 {“id”:“6”,“result”:null,“error”:“\r\n内部异常:com.sap.dbtech.jdbc.exceptions.jdbc40.SQLSyntaxErrorException:[-8017](第8页):列必须是组列:id\r\n错误代码:-8017\r\nCritera API JPA中的聚合(总和、最大值、平均值)函数,jpa,jpa-2.0,criteria-api,Jpa,Jpa 2.0,Criteria Api,在我的CriteriaAPI查询中,我查询表的三列时使用以下查询 cq.multiselect(root.get(“point”).get(“id”)、root.get(“player”).get(“userid”)、root.get(“amount”) 但是,当我使用下面的查询需要列金额的总和时,它会给出一个sql错误。问题是 cq.multiselect(root.get(“point”).get(“id”)、root.get(“player”).get(“userid”)、cb.sum(r
请帮我解决这个问题,因为我已经被困在这个问题上好几个小时了。谢谢消息告诉您在查询中需要group by子句。select子句中的每一列(聚合函数的结果除外)都必须在group by子句中:
criteriaQuery.groupBy(root.get("point").get("id"),
root.get("player").get("userid"))