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

MySQL时间戳15分钟分组后Grafana转换显示异常求助

解决MySQL按15分钟分组后Grafana时间转换异常问题

问题原因

你当前SQL计算出的floor(unix_timestamp(timestamp)/(15*60))是15分钟时间间隔的序号,而非标准Unix时间戳(秒级)。Grafana将这个序号当作秒级时间戳转换时,因数值过小,自然会显示1970年的纪元起始时间。

正确解决方案

方案1:在SQL中直接转换为datetime类型

修改SQL,将间隔序号乘以15*60还原为对应时间间隔的起始Unix时间戳,再通过from_unixtime()转换为datetime格式,Grafana可直接识别:

select
  from_unixtime(floor(unix_timestamp(timestamp)/(15*60)) * (15*60)) as "Time"
from Table;

方案2:保留数值型时间戳给Grafana转换

如果希望在Grafana中做转换,只需将间隔序号乘以900(15*60),得到正确的秒级时间戳后再转换:

select
  floor(unix_timestamp(timestamp)/(15*60)) * (15*60) as "Time"
from Table;

之后在Grafana中执行transform > Convert field type > Field Time as Time,即可得到正确的时间。

验证示例

以你提供的正确时间2022-08-30 16:16:07为例:

  1. 其Unix时间戳为1661856967
  2. 除以900取整得到1846507
  3. 乘以900得到1661856300
  4. 转换为datetime后是2022-08-30 16:05:00,即该时间所属的15分钟间隔起始时间,符合分组需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:57:30