如何将 mysql 查询转换为 JPQL 查询

How to convert mysql query to JPQL query

我正在处理 MySQL 查询:

SELECT date(timestamp), hour(timestamp), sum(numberDet), count(*) 
FROM human_det_counter 
GROUP BY hour( timestamp ) , day( timestamp ) 
ORDER BY date(timestamp)

我想要 select 条记录,每天按小时分组,并对它们的检测次数求和。

我试过这个查询:

SELECT date(h.timestamp), hour(h.timestamp), sum(h.numberDet), count(h) 
FROM HumanDetCounter h 
GROUP BY hour( h.timestamp ) , day(h.timestamp ) 
ORDER BY date(h.timestamp)

,但它不起作用。我读到 jpa 不支持 Hour() 函数,我应该使用 TO_CHART 函数,但我不知道如何使用。

好的,我明白了。如果有人需要我的查询:

createQuery("SELECT cast(Date(h.timestamp) as string), substring(h.timestamp, 12,2) , sum(h.numberDet), count(h) FROM HumanDetCounter h GROUP by substring(h.timestamp, 12,2), substring(h.timestamp, 9,2) ORDER BY h.timestamp")

这可能不是最好的解决方案,但它很有效:)