gpt4 book ai didi

mysql - SQL查询以获取设定时间段的平均值

转载 作者:可可西里 更新时间:2023-11-01 07:33:34 25 4
gpt4 key购买 nike

我有一个用于存储功率读数的 MySQL 数据库,每分钟添加一次读数。 (即每天 1,440 个读数)。

time      power
---- -----
00:00:00 346
00:01:00 352
00:02:00 247

我想使用 PHP 根据这些数据生成图表,但我不希望图表上有 1,440 个点。我可能会选择将它分成 15 分钟的 block (这将给我 96 分)。另外,我不想简单地取每十五个值,因为这会产生误导性的结果。我想要做的是使用一个 SQL 查询,该查询以 15 分钟为单位返回数据,并给出平均功率读数。

输出可能是这样的:

starttime   avgpower
--------- --------
00:00:00 342
00:15:00 490
00:30:00 533

是否有一个 SQL 函数可以为我执行此操作?还是我必须在我的 PHP 代码中执行此计算?

最佳答案

这是您的查询:

SELECT STR_TO_DATE(CONCAT(DATE_FORMAT(`time`, '%H'), ':', (FLOOR(DATE_FORMAT(`time`, '%i') / 15) * 15), ':00'), '%H:%i:%s') `starttime`, AVG(`power`) `avgpower`
FROM `tablea`
GROUP BY `starttime`;

请根据您的架构随意替换表 (tablea) 和列(timepower)名称。

希望这对您有所帮助。

关于mysql - SQL查询以获取设定时间段的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6457362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com