我有以下JPA查询,它将日期截短到整整一个小时并对其进行计数:
SELECT a.alertconfiguration.id.id,
date_trunc('hour', a.date) AS fromDate,
count(*) AS count
FROM alert a
GROUP BY a.alertconfiguration.id.id,
a.alertlevel,
date_trunc('hour', a.date)我正在使用Hibernate在Spring应用程序中运行这个程序。效果很好。但我不想将函数调用复制到date_trunc。我尝试过在GROUP BY子句中引用fromDate,但之后我得到了一个例外org.postgresql.util.PSQLException: ERROR: column "fromdate" does not exist
http://hibernate.atlassian.net/browse/HHH-9301还指出,不能引用group by子句中的别名。
如果没有重复的函数调用,我如何重写查询?
发布于 2018-11-27 06:29:01
你能试着用2代替date_trunc('hour',a.date)在group子句中,从日期第2列开始
发布于 2018-11-27 05:51:54
Hibernate不使用group by或任何聚合函数中的别名。正如您将在生成的sql查询中看到的那样,别名与您指定的别名不同。
https://stackoverflow.com/questions/53493469
复制相似问题