This pair of functions returns the timestamps of the first and last points in a CounterSummary aggregate.

first_time(
cs CounterSummary
) RETURNS TIMESTAMPTZ
last_time(
cs CounterSummary
) RETURNS TIMESTAMPTZ
NameTypeDescription
csCounterSummaryThe input CounterSummary from a previous counter_agg (point form) call, often from a continuous aggregate
ColumnTypeDescription
first_timeTIMESTAMPTZThe time of the first point in the CounterSummary
ColumnTypeDescription
last_timeTIMESTAMPTZThe time of the last point in the CounterSummary

This example produces a CounterSummary from timestamps and associated values, then applies the first_time and last_time accessors:

WITH t as (
SELECT
time_bucket('1 day'::interval, ts) as dt,
counter_agg(ts, val) AS cs -- get a CounterSummary
FROM table
GROUP BY time_bucket('1 day'::interval, ts)
)
SELECT
dt,
first_time(cs) -- extract the timestamp of the first point in the CounterSummary
last_time(cs) -- extract the timestamp of the last point in the CounterSummary
FROM t;

Found an issue on this page?

Report an issue!

Related Content