Skip to main content
Since 1.15.0 Combine multiple state aggregates into a single state aggregate. For example, you can use rollup to combine state aggregates from 15-minute buckets into daily buckets.

Samples

Combine multiple state aggregates and calculate the duration spent in the START state.
WITH buckets AS (SELECT
    time_bucket('1 minute', ts) as dt,
    state_agg(ts, state) AS sa
FROM states_test
GROUP BY time_bucket('1 minute', ts))
SELECT duration_in(
    'START',
    rollup(buckets.sa)
)
FROM buckets;

Arguments

The syntax is:
rollup(
    agg StateAgg
) RETURNS StateAgg
NameTypeDefaultRequiredDescription
aggStateAgg-State aggregates created using state_agg

Returns

ColumnTypeDescription
aggStateAggA new state aggregate that combines the input state aggregates