Documentation

GROUP BY clause

Use the GROUP BY clause to group data by values.

GROUP BY is an optional clause used to group rows that have the same values for all columns and expressions in the list. To output an aggregation for each group, include an aggregate or selector function in the SELECT statement. When GROUP BY appears in a query, the SELECT list can only use columns that appear in the GROUP BY list or in aggregate expressions.

Group by aliases

  • GROUP BY can use column aliases that are defined in the SELECT clause.
  • GROUP BY won’t use an aliased value if the alias is the same as the original column name. GROUP BY uses the original value of the column, not the transformed, aliased value. We recommended using column ordinals in in the GROUP BY clause to group by transformed values and maintain the alias identifier.

Syntax

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

Examples

Group data by tag values

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

View example results

Group data into 15 minute time intervals by tag

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

View example results


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.5

Key enhancements in InfluxDB 3.5 and the InfluxDB 3 Explorer 1.3.

See the Blog Post

InfluxDB 3.5 is now available for both Core and Enterprise, introducing custom plugin repository support, enhanced operational visibility with queryable CLI parameters and manual node management, stronger security controls, and general performance improvements.

InfluxDB 3 Explorer 1.3 brings powerful new capabilities including Dashboards (beta) for saving and organizing your favorite queries, and cache querying for instant access to Last Value and Distinct Value cachesβ€”making Explorer a more comprehensive workspace for time series monitoring and analysis.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On November 3, 2025, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2