目前,我正在做一些JPA的工作,但是有一些问题,如下所述:
表结构-
Id(Integer) , StatusType(String) , CreationTime(TimeStamp)
我想提取 StatusType , Count(StatusType)和 CreationTime [GROUP BY] (Cast in Date instead of TimeStamp)
如果CreationTime在TimeStamp中分组,则由于时间戳的唯一性,因此不进行分组
我有一个可以解决我的目的的sql查询- Select StatusType , Count(*) , Date(CreationTime) from Table Group By Date(CreationTime)
它将时间戳转换为日期并按CreationTime分组,
但我希望使用 CriteriaBuilder API或至少在 JPQL查询中使用,以便它适用于所有数据库。有什么想法吗?
提前致谢。
最佳答案
您可以通过以下方式将时间戳转换为“yyyyMMdd”格式的整数:
year(CreateTime) * 10000 + month(CreateTime) * 100 + day(CreateTime)