文档文档

GROUP BY 子句

使用 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

查看示例结果


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2