文档文档

GROUP BY 子句

InfluxDB 3 Core 处于公开 Alpha 阶段

InfluxDB 3 Core 处于公开 alpha 阶段,可用于测试和反馈,但不适用于生产环境。产品和本文档都在不断完善中。我们欢迎并鼓励您提供关于 alpha 体验的反馈,并邀请您加入我们的公共频道以获取更新和分享反馈。

Alpha 预期和建议

使用 GROUP BY 子句按值对数据进行分组。

GROUP BY 是一个可选子句,用于对列表中所有列和表达式具有相同值的行进行分组。要为每个组输出聚合,请在 SELECT 语句中包含聚合函数或选择器函数。当 GROUP BY 出现在查询中时,SELECT 列表只能使用 GROUP BY 列表中或聚合表达式中出现的列。

按别名分组

  • GROUP BY 可以使用在 SELECT 子句中定义的列别名。
  • 如果别名与原始列名相同,则 GROUP BY 将不会使用别名值。GROUP BY 使用列的原始值,而不是转换后的别名值。我们建议在 GROUP BY 子句中使用列序号,以便按转换后的值进行分组并保留别名标识符。

语法

SELECT
  AGGREGATE_FN(field1),
  tag1
FROM measurement
GROUP BY tag1

示例

按标签值对数据进行分组

SELECT
  AVG(water_level) AS avg_water_level,
  location
FROM h2o_feet
GROUP BY location

查看示例结果

按标签将数据分组为 15 分钟的时间间隔

SELECT
  location,
  DATE_BIN(INTERVAL '15 minutes', time) AS time,
  COUNT(water_level) AS count
FROM h2o_feet
WHERE 
  time >= timestamp '2019-09-17T00:00:00Z'
  AND time <= timestamp '2019-09-17T01:00:00Z'
GROUP BY 1, location
ORDER BY location, 1

查看示例结果


此页对您有帮助吗?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源版本现已发布公开 Alpha 版

InfluxDB 3 开源版本现已可用于 alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看