使用 Hibernate 执行以下查询时
select to_char(vdadCloseDate,'yyyymm'), count(*) from RmDashboardAccountDataBe where 1=1 and vdadRmId in('MK13','MK11') GROUP BY TO_CHAR(vdadCloseDate,'YYYYMM')
我遇到以下异常,
java.sql.SQLSyntaxErrorException: ORA-00979: not a GROUP BY expression
有什么办法可以解决这个问题吗?
最佳答案
这是“纯”Oracle SQL(即不是 HQL),它看起来与您的查询完全相同(不过我必须使用不同的表和列名称):
SQL> select to_char(hire_date, 'yyyymm'), count(*)
2 from employees
3 where department_id in (10, 20)
4 group by to_char(hire_date, 'yyyymm');
TO_CHA COUNT(*)
------ ----------
200309 1
200508 1
200402 1
SQL>
所以 - 是的,它工作正常。
这是指向 HQL Group by clause 的链接这也表明这样的查询是完全有效的(看看这样我就不必在此处复制/粘贴其内容)。
这就是为什么我问您是否确定这是返回 ORA-00979 错误的查询。正如你所回答的那样,呵呵,我不知道该说什么......
关于java - 我们可以在 HQL 中将 to_char( ) 与 GROUP BY 一起使用吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48849968/