HQL按时间单位(小时/天/月)选择总和和时间组

时间:2015-11-14 15:57:39

标签: java spring hibernate hql

我有一张这样的表:

COLUMN               TYPE
------------------------------
ID                   INTEGER
VALUE                INTEGER
TIME                 TIMESTAMP

如何使用HQL选择按时间单位分组的值列总和(f.e。按天分组)并选择此时间单位作为第二列来编写查询。

我试过这样做并得到这样的东西: 但是HQL中没有parsedatetime函数,所以我不知道如何才能获得正确的查询。

select sum(value),
parsedatetime(day(time) || '.' || month(time) || '.' || year(time) || ' ' || hour(time) ||':00:00', 'dd.MM.yy hh:mm:ss')
as xtime 
from Table 
group by time

我希望此查询返回包含2个字段的对象:int和java.sql.Date。

1 个答案:

答案 0 :(得分:5)

您按整个日期时间值进行分组,这就是您没有预期结果的原因,您必须按照您想要的日期时间对其进行分组,尝试如下所示:

select sum(value),
day(time) as xtime 
from Table 
group by day(time)
相关问题