创建日期时间戳并填写mysql表

rryofs0p  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(314)

我想要一张表,上面有过去30天每小时的平均值。此表应每天由事件更新。我想出了以下代码:

SELECT Time(HOUR(TIMESTAMP)*10000) AS Zeit,(AVG(Value1)+AVG(Value2)+AVG(Value3))AS Average
FROM Table
WHERE TIMESTAMP>= DATE_SUB(NOW(),INTERVAL 30 DAY)
GROUP BY HOUR(TIMESTAMP)

给了我一张这样的table:

00:00:00  |  0
01:00:00  |  3
...
23:00:00  | 35

我想要的是把我的时间升级到datetime,有今天的日期和24小时。然后我想把这个值放到一个表中。我怎么能这么做?结果应该是:

2020-07-29 00:00:00  |  0
fcipmucu

fcipmucu1#

这应该起作用:

SELECT TIMESTAMP(CURDATE(), MAKETIME(HOUR(TIMESTAMP), 0, 0)) AS Zeit,(AVG(Value1)+AVG(Value2)+AVG(Value3))AS Average
FROM Table
WHERE TIMESTAMP>= DATE_SUB(NOW(),INTERVAL 30 DAY)
GROUP BY HOUR(TIMESTAMP)

相关问题