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 分钟的主要内容,如果未能解决你的问题,请参考以下文章
根据当地时间 (HH:MM) 计算 24 小时周期内每分钟的平均销售额
陈天艺1636050045假设跑步者1小时40分钟35秒跑了24英里。编写一个程序显示每小时以公里为单位的平均速度值
作业:1.12假设一个跑步者1小时40分钟35秒 内跑了24英里。编写一个程序显示以每小时多少公里为单位的平均速度值(注意,1英里等于1.6公里。)