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 BYcan use column aliases that are defined in theSELECTclause.GROUP BYwon’t use an aliased value if the alias is the same as the original column name.GROUP BYuses the original value of the column, not the transformed, aliased value. We recommended using column ordinals in in theGROUP BYclause to group by transformed values and maintain the alias identifier.
Syntax
SELECT
AGGREGATE_FN(field1),
tag1
FROM measurement
GROUP BY tag1Examples
Group data by tag values
SELECT
AVG(water_level) AS avg_water_level,
location
FROM h2o_feet
GROUP BY locationGroup 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, 1Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB 3 Enterprise and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support. Customers using a trial license can email trial@influxdata.com for assistance.