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!

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.