MySQL 24 小时平均 10 分钟

Posted

技术标签:

【中文标题】MySQL 24 小时平均 10 分钟【英文标题】:MySQL averages for 10 minutes for 24 hours 【发布时间】:2017-03-16 12:51:17 【问题描述】:

我有一个表格,每 10 秒更新一次数据。我需要平均 10 分钟,24 小时的特定日期。

我尝试这样做并通过 php.ini 将时间增加 10 分钟。

select AVG(active_energy), date_time from energy_readings where date_time between "2016-11-02 00:00:00" and "2016-11-02 00:00:00"+ INTERVAL 10 MINUTE;

然后

select AVG(active_energy), date_time from energy_readings where date_time between "2016-11-02 00:10:00" and "2016-11-02 00:10:00"+ INTERVAL 10 MINUTE;

24 小时。

它可以工作,但它在我的数据库服务器上占用了太多负载。

是否有一个我可以使用的 mysql 查询,它可以为我提供某一天 24 小时内 10 分钟的平均值?

【问题讨论】:

【参考方案1】:

这是一种每 10 分钟获取一行数据的方法:

select date(date_time), hour(date_time), floor(minute(date_time) / 6),
       avg(active_energy)
from energy_readings
where date_time >= '2016-11-02' and datetime < '2016-11-03'
group by date(date_time), hour(date_time), floor(minute(date_time) / 6)
order by min(date_time);

【讨论】:

'trunc' 在 MySQL 中不可用。尝试使用 date(minute(date_time)/6) 代替。但这没有用.. 我猜你可以像这样在这种情况下使用DIV 运算符:...group by date(date_time), hour(date_time), minute(date_time) DIV 6...@NoMadic @NoMadic 。 . .哎呀。正确的函数是floor()

以上是关于MySQL 24 小时平均 10 分钟的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 每小时平均,间隔从半小时开始

根据当地时间 (HH:MM) 计算 24 小时周期内每分钟的平均销售额

MYSQL每10分钟获取一列的平均值

熊猫 - 计算每小时平均滚动 10 分钟

陈天艺1636050045假设跑步者1小时40分钟35秒跑了24英里。编写一个程序显示每小时以公里为单位的平均速度值

作业:1.12假设一个跑步者1小时40分钟35秒 内跑了24英里。编写一个程序显示以每小时多少公里为单位的平均速度值(注意,1英里等于1.6公里。)