首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最近30天内每小时的MySQL平均值

最近30天内每小时的MySQL平均值
EN

Stack Overflow用户
提问于 2020-07-14 21:23:04
回答 2查看 270关注 0票数 0

我有一个表,每分钟更新一次,我需要为过去30天的值计算每个小时的平均值。

代码语言:javascript
运行
复制
Timestamp            | SB1_AC_GES_DIFF
2020-07-14 15:13:04     30
2020-07-14 15:12:07     27
...                     ...

我希望将结果保存在另一个名为avgTable的表中,如下所示

代码语言:javascript
运行
复制
Timestamp            | AVG_SB1
15:00                  29
16:00                  32
...                    ...

如果表格可以每天更新一次,那就太完美了,也许是在12点,当天的日期部分发生变化的时候。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-14 21:41:35

您可以只使用hour()函数:

代码语言:javascript
运行
复制
select hour(timestamp) as hh, avg(sb1_ac_ges_diff)
from t
group by hh;

如果需要,您可以将其转换为字符串或时间,但这对我来说似乎没有什么用处。

如果你真的想要每天的小时数,那么:

代码语言:javascript
运行
复制
select date(timestamp) as dd, hour(timestamp) as hh, avg(sb1_ac_ges_diff)
from t
group by dd, hh;
票数 0
EN

Stack Overflow用户

发布于 2020-07-14 21:38:23

您可以尝试:

代码语言:javascript
运行
复制
INSERT INTO avg_table 
SELECT Date_format(Timestamp, "%h:00:00") AS HourlyTimeStamp, 
       Avg(sb1_ac_ges_diff) AS "AVG_SB1" 
FROM   table
WHERE Timestamp between DATEADD(DAY, -30, GETDATE()) AND GETDATE()
GROUP BY 1

假设你想要平均滚动平均,不可知的一天。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62896245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档