文档文档

GROUP BY 子句

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

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

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 Core 和 Enterprise

快速启动。 更快扩展。

获取更新

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

有关更多信息,请查看