Documentation

group() function

group() regroups input data by modifying group key of input tables.

Note: Group does not guarantee sort order. To ensure data is sorted correctly, use sort() after group().

Function type signature
(<-tables: stream[A], ?columns: [string], ?mode: string) => stream[A] where A: Record

For more information, see Function type signatures.

Parameters

columns

List of columns to use in the grouping operation. Default is [].

Note: When columns is set to an empty array, group() ungroups all data merges it into a single output table.

mode

Grouping mode. Default is by.

Available modes:

  • by: Group by columns defined in the columns parameter.
  • except: Group by all columns except those in defined in the columns parameter.

tables

Input data. Default is piped-forward data (<-).

Examples

Group by specific columns

import "sampledata"  sampledata.int()  |> group(columns: ["_time", "tag"])

View example input and output

Group by everything except time

import "sampledata"  sampledata.int()  |> group(columns: ["_time"], mode: "except")

View example input and output

Ungroup data

import "sampledata"  // Merge all tables into a single table sampledata.int()  |> group()

View example input and output


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.7

Key enhancements in InfluxDB 3.7 and the InfluxDB 3 Explorer 1.5.

See the Blog Post

InfluxDB 3.7 is now available for both Core and Enterprise, landing alongside version 1.5 of the InfluxDB 3 Explorer UI. This release focuses on giving developers faster visibility into what their system is doing with one-click monitoring, a streamlined installation pathway, and broader updates that simplify day-to-day operations.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, 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