SELECT / GROUP BY - 时间段(10 秒、30 秒等)
在 MySQL 中,可以检索聚合使用 SELECT 和 GROUP BY 子句基于时间间隔从表中获取数据。考虑这样一个场景,您有一个表每 n 秒记录一次样本,其中有两个相关列:time_stamp 和 count。
要获取按特定时间间隔分组的 count 列的总和或平均值,请执行以下步骤:
使用步骤 2 的结果作为 GROUP BY 子句中的分组条件,如以下查询所示:
SELECT UNIX_TIMESTAMP(time_stamp) DIV 10, SUM(count) FROM table GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 10;
此查询将数据分组为10 秒间隔,对每个间隔内的计数值求和。
如果需要,可以通过向时间戳添加偏移量来调整间隔之间的边界。例如,要按 hh:mm:05 到 hh:mm:35 的间隔进行分组,请使用:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 10
通过利用 GROUP BY 和 UNIX_TIMESTAMP 函数,您可以有效聚合来自基于不同时间段的时间序列表的数据,提供对随时间变化的模式和趋势的洞察。
以上是如何在 MySQL 中按 10 秒、30 秒或其他间隔对时间序列数据进行分组?的详细内容。更多信息请关注PHP中文网其他相关文章!