对时间段进行分组以进行总和和平均值计算
在 MySQL 数据库中,您可以从包含不同时间戳记录的表中检索汇总数据捕获之间的间隔。您的目标是将这些记录分组,并计算特定时间段(例如 10 秒或 30 秒)的总和和平均值。
解决方案
分组时间的关键段位于 GROUP BY 子句中。要根据 30 秒间隔对数据进行分组和汇总,请使用以下命令:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
此表达式将每个记录的 Unix 时间戳除以 30,向下舍入到最接近的 30 秒标记。因此,同一 30 秒间隔内的记录将被分组在一起。
自定义时间段边界
您可以通过调整来修改时间段的边界DIV 表达式中的分母。例如,要以 20 秒间隔进行分组:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 20
缓冲时间段
要向时间段添加缓冲区,您可以使用以下公式:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + r) DIV 30
在此表达式中,r 表示小于 30 的非负整数。通过将值添加到时间戳,您可以创建重叠的时间段。例如:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
此查询会将记录分组为从 hh:mm:05 到 hh:mm:35 以及从 hh:mm:35 到 hh:mm 1:05 的时间段。
以上是如何将MySQL时间戳数据分组为自定义时间段以进行总和和平均值计算?的详细内容。更多信息请关注PHP中文网其他相关文章!