文档文档

InfluxQL 杂项函数

使用 InfluxQL 杂项函数在 InfluxQL 查询中执行不同的操作。

fill()

使用指定的填充值填充 GROUP BY time() 查询中从空时间窗口返回的 null 字段值。

仅在 GROUP BY 子句 中支持。

fill(behavior)

参数

  • behavior:定义填充操作的行为。如果未包含 FILL 子句,则默认行为为 fill(null)

    以下选项可用

    • numeric literal:将 null 值替换为指定的数值字面量。
    • linear:使用现有值之间的线性插值来替换 null 值。
    • none:删除具有 null 字段值的行。
    • null:保留 null 值和关联的时间戳。
    • previous:将 null 值替换为最近的非 null 值。

示例

以下示例使用 比特币价格示例数据集

SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(0)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:00:00Z0
2023-05-01T01:30:00Z29263.2886
SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(linear)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:00:00Z29285.3651
2023-05-01T01:30:00Z29263.2886
SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(none)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:30:00Z29263.2886
SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(null)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:00:00Z
2023-05-01T01:30:00Z29263.2886
SELECT
  MEAN(price)
FROM bitcoin
WHERE
  code = 'USD'
  AND time >= '2023-05-01T00:00:00Z'
  AND time < '2023-05-01T02:00:00Z'
GROUP BY
  time(30m)
  fill(previous)

name: bitcoin

timemean
2023-05-01T00:00:00Z29319.9092
2023-05-01T00:30:00Z29307.4416
2023-05-01T01:00:00Z29307.4416
2023-05-01T01:30:00Z29263.2886

此页内容对您有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩功能,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看