first_time, last_time

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

  1. first_time(
  2. cs CounterSummary
  3. ) RETURNS TIMESTAMPTZ
  4. last_time(
  5. cs CounterSummary
  6. ) RETURNS TIMESTAMPTZ

Required arguments

NameTypeDescription
csCounterSummaryThe input CounterSummary from a previous counter_agg (point form) call, often from a continuous aggregate

Returns

ColumnTypeDescription
first_timeTIMESTAMPTZThe time of the first point in the CounterSummary
ColumnTypeDescription
last_timeTIMESTAMPTZThe time of the last point in the CounterSummary

Sample usage

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

  1. WITH t as (
  2. SELECT
  3. time_bucket('1 day'::interval, ts) as dt,
  4. counter_agg(ts, val) AS cs -- get a CounterSummary
  5. FROM table
  6. GROUP BY time_bucket('1 day'::interval, ts)
  7. )
  8. SELECT
  9. dt,
  10. first_time(cs) -- extract the timestamp of the first point in the CounterSummary
  11. last_time(cs) -- extract the timestamp of the last point in the CounterSummary
  12. FROM t;