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.6

Key enhancements in InfluxDB 3.6 and the InfluxDB 3 Explorer 1.4.

See the Blog Post

InfluxDB 3.6 is now available for both Core and Enterprise. This release introduces the 1.4 update to InfluxDB 3 Explorer, featuring the beta launch of Ask AI, along with new capabilities for simple startup and expanded functionality in the Processing Engine.

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