我创建了一个像这样的Hibernate查询:
select new ProjectForUser
(p.projectId, p.name, p.description, p.client, p.startDate, p.endDate,
p.liveDate, p.projectState, p.overallRagStatus, p.scopeRagStatus, p.flt,
up.projectManager)
from UserProjectAssociation up left join up.project p
where up.user.id = :userId and up.project.projectState != 'ARCHIVED'
group by p.projectId
为用户检索项目。项目存储在一个表中,用户存储在另一个表中,UserProjectAssociation是一个带有附加属性的连接表 - projectManager。
整个查询适用于H2数据库,但在oracle上我收到此错误:
ORA-00979: not a GROUP BY expression
使用GROUP BY for Oracle的正确方法是什么?
谢谢!
答案 0 :(得分:0)
问题。当GROUP BY子句不包含SELECT子句中的所有表达式时,会发生ORA-00979。任何未包含在GROUP函数中的SELECT表达式都必须在GROUP BY子句中列出。它们是AVG,COUNT,MAX,MIN,SUM,STDDEV和VARIANCE。
请参阅:https://www.tekstream.com/resources/ora-00979-not-a-group-by-expression/