java - 我们可以在 HQL 中将 to_char( ) 与 GROUP BY 一起使用吗

标签 java sql hibernate hql

使用 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/

相关文章:

java - 在 Test = false 配置选项被忽略时 Play 2.3.7

java - 经济援助计算器

java - 在一个 Spring Boot 容器中运行多个 Web 应用程序

java - 什么时候使用deleteOnExit而不是删除?

sql - 如何在 SQL 查询中聚合两类值?

mysql - SELECT DISTINCT 和 CONCAT 未正确返回值

sql - 聚合 postgres 联合结果

java - 如何使用 JPA 锁定数据库行

mysql - hibernate 分离条件 - 如何添加 native sql 语句

hibernate - 避免使用缓存 Hibernate 关联或缓存集合作为整体进行 n+1 选择