Documentation

GROUP BY clause

InfluxDB 3 Enterprise is in Public Alpha

InfluxDB 3 Enterprise is in public alpha and available for testing and feedback, but is not meant for production use. Both the product and this documentation are works in progress. We welcome and encourage your input about your experience with the alpha and invite you to join our public channels for updates and to share feedback.

Alpha expectations and recommendations

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 can use column aliases that are defined in the SELECT clause. GROUP BY can’t use an alias named time. In a GROUP BY list, time always refers to the measurement time column.

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 results in 15 minute time intervals by tag:

SELECT
  "location",
  DATE_BIN(INTERVAL '15 minutes', time, TIMESTAMP '2022-01-01 00:00:00Z') 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
  _time,
  location
ORDER BY
  location,
  _time
}

View example results


Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

InfluxDB 3 Open Source Now in Public Alpha

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

We are releasing two products as part of the alpha.

InfluxDB 3 Core, is our new open source product. It is a recent-data engine for time series and event data. InfluxDB 3 Enterprise is a commercial version that builds on Core’s foundation, adding historical query capability, read replicas, high availability, scalability, and fine-grained security.

For more information on how to get started, check out: