我有一张这样的表:
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。
答案 0 :(得分:5)
您按整个日期时间值进行分组,这就是您没有预期结果的原因,您必须按照您想要的日期时间对其进行分组,尝试如下所示:
select sum(value),
day(time) as xtime
from Table
group by day(time)