You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB使用GROUP BY按5分钟分组时如何返回分组内最新时间戳

你可以直接通过取分组内最大时间戳的方式实现需求,原因是你表内的时间戳随记录递增,每个5分钟分组里最大的time值就是该组最后一条记录的时间。

修改后的SQL语句如下:

SELECT MAX(time) AS time, AVG(value) AS avg_value
FROM `table`
GROUP BY CEIL(time / 300)
ORDER BY time ASC;

如果你的数据存在缺失分钟的情况,希望统一返回标准5分钟块的结束时间(而非实际存在的最后一条记录时间),也可以使用如下写法:

SELECT CEIL(time / 300) * 300 AS time, AVG(value) AS avg_value
FROM `table`
GROUP BY CEIL(time / 300)
ORDER BY time ASC;

注:如果你的表名实际为table,建议保留反引号避免和SQL关键字冲突,可根据实际表名调整。

内容的提问来源于stack exchange,提问作者Zaibatsu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:18:05