Grafana PostgreSQL distinct on() with time series
Grafana PostgreSQL distinct on() with time series
我对 Grafana 和 Postgres 还很陌生,需要一些帮助。我在 PostgreSQL 中有一个带有温度预报的数据集。针对同一参考日期,在一天中的不同时间点(用 dump_date
表示)发布多项预测。说:今天 06:00 和今天 12:00 发布明天的预测(时间由 start_time
指示)。现在我想使用 Grafana 将温度预测可视化为时间序列。但是,我只想可视化最新发布的预测 (12:00) 而不是两个预测。我以为我会使用 DISTINCT ON() 来 select 仅来自该数据集的最新发布的预测,但不知何故对于 Grafana 这没有响应。我在Grafana中的代码如下:
SELECT
$__time(distinct on(t_ID.start_time)),
concat('Forecast')::text as metric,
t_ID.value
FROM
forecast_table t_ID
WHERE
$__timeFilter(t_ID.start_time)
and t_ID.start_time >= (current_timestamp - interval '30 minute')
and t_ID.dump_date >= (current_timestamp - interval '30 minute')
ORDER BY
t_ID.start_time asc,
t_ID.dump_date desc
但是这不起作用,因为我收到消息:'syntax error at or near AS'。我该怎么办?
您正在使用 Grafana 宏 $__time
,因此您在编辑器中的查询:
SELECT
$__time(distinct on(t_ID.start_time)),
生成SQL:
SELECT
distinct on(t_ID.start_time AS "time"),
SQL 语法不正确。
我不会使用宏。我会直接写正确的SQL,例如
SELECT
distinct_on(t_ID.start_time) AS "time",
还使用 Generated SQL
和 Query inspector
Grafana 功能进行调试和查询开发。确保 Grafana 为 Postgres 生成正确的 SQL。
我对 Grafana 和 Postgres 还很陌生,需要一些帮助。我在 PostgreSQL 中有一个带有温度预报的数据集。针对同一参考日期,在一天中的不同时间点(用 dump_date
表示)发布多项预测。说:今天 06:00 和今天 12:00 发布明天的预测(时间由 start_time
指示)。现在我想使用 Grafana 将温度预测可视化为时间序列。但是,我只想可视化最新发布的预测 (12:00) 而不是两个预测。我以为我会使用 DISTINCT ON() 来 select 仅来自该数据集的最新发布的预测,但不知何故对于 Grafana 这没有响应。我在Grafana中的代码如下:
SELECT
$__time(distinct on(t_ID.start_time)),
concat('Forecast')::text as metric,
t_ID.value
FROM
forecast_table t_ID
WHERE
$__timeFilter(t_ID.start_time)
and t_ID.start_time >= (current_timestamp - interval '30 minute')
and t_ID.dump_date >= (current_timestamp - interval '30 minute')
ORDER BY
t_ID.start_time asc,
t_ID.dump_date desc
但是这不起作用,因为我收到消息:'syntax error at or near AS'。我该怎么办?
您正在使用 Grafana 宏 $__time
,因此您在编辑器中的查询:
SELECT
$__time(distinct on(t_ID.start_time)),
生成SQL:
SELECT
distinct on(t_ID.start_time AS "time"),
SQL 语法不正确。
我不会使用宏。我会直接写正确的SQL,例如
SELECT
distinct_on(t_ID.start_time) AS "time",
还使用 Generated SQL
和 Query inspector
Grafana 功能进行调试和查询开发。确保 Grafana 为 Postgres 生成正确的 SQL。