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

如何在Grafana表格中对时间戳进行Group by分组?

解决Grafana表格时间戳转日期并分组的问题

方法一:在查询语句中直接处理(推荐)

根据你使用的数据源,修改查询语句将时间戳转为YYYY-MM-DD格式,同时按该字段分组聚合:

  • SQL类数据源(MySQL/PostgreSQL等):
    用日期函数转换并分组,比如MySQL:
    SELECT DATE_FORMAT(time_column, '%Y-%m-%d') AS date, SUM(value) AS total
    FROM your_table
    GROUP BY DATE_FORMAT(time_column, '%Y-%m-%d')
    
    PostgreSQL:
    SELECT TO_CHAR(time_column, 'YYYY-MM-DD') AS date, SUM(value) AS total
    FROM your_table
    GROUP BY TO_CHAR(time_column, 'YYYY-MM-DD')
    
  • Prometheus:
    用time()函数结合date()函数转换,配合聚合操作:
    sum by (date) (
      your_metric
      * on() group_left(date) date(vector(time()))
    )
    
    或者用label_replace生成日期标签后分组:
    sum by (formatted_date) (
      label_replace(your_metric, "formatted_date", "$1", "time", "^(\\d{4}-\\d{2}-\\d{2}).*$")
    )
    
  • InfluxDB:
    使用time()函数和date()函数转换,分组查询:
    SELECT sum("value") FROM "your_measurement"
    GROUP BY date(time, '1d'), *
    

方法二:使用Grafana的Transform功能(无需修改查询)

如果不想调整查询,可通过面板的Transform工具实现:

  1. 打开面板编辑界面,切换到Transform标签页
  2. 点击Add transformation,选择Add field from calculation
  3. 配置项设置:
    • 选择原时间戳字段作为输入
    • 计算类型选Date format
    • 格式填写YYYY-MM-DD,给新字段命名(比如日期)
  4. 再添加一个Group by转换:
    • 选择刚才生成的日期字段作为分组依据
    • 对需要聚合的数值字段选择对应聚合方式(求和、平均值等)
  5. 调整字段显示顺序,隐藏原时间戳字段即可

为什么Override没用?

Override仅用于修改字段的显示格式,不会改变数据本身的结构和分组逻辑,所以没法实现按转换后日期分组的需求,必须从查询或Transform层面处理数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 04:55:55