当前位置: 首页 > 知识库问答 >
问题:

使用XDB子查询减去值

司空宣
2023-03-14

我有一个流入数据库,里面充满了值。这些值由Grafana提供。我需要的是根据选定的时间间隔获取实际值。

目前,我对单个指标有以下查询:

SELECT mean("value") FROM "table" WHERE $timeFilter GROUP BY time($interval) fill(null)

我想要的是从这个区间中减去最小的值,所以它只计算这个区间内的值。因此,图表需要从零开始。要从该间隔中获取最低值,我使用:

SELECT min("value") FROM "table" WHERE $timeFilter 

所以我认为像这样结合这两个(和子查询)应该可以:

SELECT mean("value") - (SELECT min("value") FROM "table" WHERE $timeFilter) FROM "table" WHERE $timeFilter GROUP BY time($interval) fill(null)

不幸的是,这不起作用。该查询不被接受为子查询。

共有1个答案

阙佐
2023-03-14

这可以使用XDB的内置函数实现:

SELECT cumulative_sum(difference((mean("value")))) FROM "table" WHERE $timeFilter GROUP BY time($interval) fill(null)

这将获取连续数据点之间的差值(忽略绝对值),并在选定的时间范围内累计求和。

我不完全确定,但是这个查询需要一个与GROUP BY子句关联的附加平均值()。根据您的需要,也许最好使用maxfirst

 类似资料:
  • 我对SQL还很陌生,我想看看是否可以得到一些关于减法的帮助。我想减去studentstaken-studentsnotreviewed,然后将别名total分配给操作。我在想一些关于 但有些语法问题我不太确定。 “样本数据” [所需结果]

  • 我在XDB数据库中有3个时间序列指标,类似于: 为了得到一组时间序列值,我有一个grafana图,它映射: ...对于三个值中的每一个。这提供了一个每分钟发生多少次调用、成功和失败的概念。通常,处理的

  • 我正在使用XDB存储一些服务度量。这些是简单的指标,例如读取字节或活动连接。然后,我将在grafana的帮助下,在此基础上创作一些可视化作品。 将某些内容显示为“读取字节”非常简单,它基本上是按时间间隔对值进行汇总。 这是在“活动连接”上,我很难弄清楚。这些是连接到服务的tcp套接字,其中测量的是连接的套接字的数量;每当套接字连接或断开连接时,都会更新。 如果我只有一个服务实例,这很容易,我只需要

  • 问题内容: 我想使用查询显示来自不同行的两个值。 这是表结构: 我想从日期2014-11-07减去日期2014-11-08。 输出应该像 问题答案: 您可以使用联接获取行,然后减去值:

  • 关于子查询使用 利用子查询进行过滤 列出够物品RGAN01的所有客户。 检索包含物品RGAN01的所有订单编号。 检索具有前一步骤列出的订单编号所有客户ID。 检索前一步骤返回的所有客户ID的客户信息。 mysql> SELECT order_num -> FROM OrderItems -> WHERE prod_id = 'RGAN01'; +-----------+ | or

  • 问题内容: 我的网站的命中SQL表格名为ExternalHits。我将URL跟踪为URLx,将访问页面的日期跟踪为Datex。我每周运行一次此查询,以获取前一周的总点击数,并且每周我都必须手动更改“之间”的日期。有什么方法可以更改查询,以使“之间”的日期类似于TODAY AND TODAY-7?我只是不想不必每周手动更改日期。 问题答案: