group() function

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

Note: Group does not gaurantee 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.



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.


Grouping mode. Default is by.

Avaliable modes:

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


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


Group by specific columns

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

View example input and output

Group by everything except time

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

View example input and output

Ungroup data

import "sampledata"

// Merge all tables into a single table
    |> group()

View example input and output

Was this page helpful?

Thank you for your feedback!

Linux Package Signing Key Rotation

All signed InfluxData Linux packages have been resigned with an updated key. If using Linux, you may need to update your package configuration to continue to download and verify InfluxData software packages.

For more information, see the Linux Package Signing Key Rotation blog post.

State of the InfluxDB Cloud (IOx) documentation

The new documentation for InfluxDB Cloud backed by InfluxDB IOx is a work in progress. We are adding new information and content almost daily. Thank you for your patience!

If there is specific information you’re looking for, please submit a documentation issue.