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

如何在Grafana中用SQL查询power_station表过去30天的数据

SQL问题排查与正确写法

现有代码错误说明

  • 第一段SQL错误:CURDATE()为无参函数,不支持传入installed字段作为参数,且WHERE子句缺少比较运算符,语法不合法无法执行。
  • 第二段SQL错误:DATEADD、getdate()为SQL Server专属语法,若使用其他数据库(如MySQL、PostgreSQL)会报函数不存在的错误。

分场景正确写法

MySQL/MariaDB 环境

SELECT * 
FROM power_station
WHERE installed >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
  AND installed <= CURDATE();

SQL Server 环境

SELECT * 
FROM power_station
WHERE installed >= DATEADD(day,-30, GETDATE()) 
  AND installed <= GETDATE()

PostgreSQL 环境

SELECT * 
FROM power_station
WHERE installed >= CURRENT_DATE - INTERVAL '30 days'
  AND installed <= CURRENT_DATE;

注:如果需要统计精确到时分秒的近30天数据,将对应代码中的日期函数替换为返回datetime类型的时间函数即可(如MySQL把CURDATE()换成NOW())。

Grafana 专属优化写法

在Grafana中使用时可直接调用内置时间宏,可联动面板的时间选择控件,无需手动写死时间范围:

SELECT * 
FROM power_station
WHERE $__timeFilter(installed)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:15:02