📜  如何在 influxdb 中混合聚合和非聚合 (1)

📅  最后修改于: 2023-12-03 15:08:38.561000             🧑  作者: Mango

如何在 InfluxDB 中混合聚合和非聚合

当处理 InfluxDB 中的数据时,经常需要在查询中混合聚合和非聚合操作。在本文中,我们将探讨如何在 InfluxDB 中实现此类操作。

聚合操作

InfluxDB 支持多种聚合操作,如 COUNTSUMMEANMEDIANMODEGROUP BY。这些操作可用于将数据聚合成更有意义的数据点。以下是一些示例:

SELECT COUNT(field) FROM measurement
SELECT SUM(field) FROM measurement
SELECT MEAN(field) FROM measurement GROUP BY time(1h)
SELECT MEDIAN(field) FROM measurement WHERE value > 10
非聚合操作

非聚合操作用于选择原始数据而不是聚合数据。以下是一些示例:

SELECT field FROM measurement
SELECT field1, field2 FROM measurement WHERE time < now() - 1d
SELECT * FROM measurement WHERE field = 'value'
组合操作

当同时需要聚合和原始数据时,就需要组合聚合和非聚合操作。以下是一些示例:

SELECT COUNT(field1), field2 FROM measurement GROUP BY field2
SELECT MEAN(field1), field2 FROM measurement WHERE time > now() - 1d GROUP BY field2
SELECT field1, field2 FROM measurement WHERE field3 = 'value' GROUP BY time(1h), field2

注意,聚合和非聚合操作之间必须有一个聚合关键字,如 BYWHERE,否则查询将无法运行。

总结

在 InfluxDB 中混合聚合和非聚合操作是非常常见的需求。本文介绍了聚合和非聚合操作以及如何将它们组合起来。了解这些操作将使您能够更轻松地处理 InfluxDB 中的数据。