Use date_trunc()
para truncar las marcas de tiempo a una unidad de tiempo dada, y GROUP BY
esa expresión:
SELECT date_trunc('minute', date) AS date_truncated_to_minute
, avg(x) AS avg_x
, avg(y) AS avg_y
, avg(z) AS avg_z
FROM tbl
GROUP BY 1;
Suponiendo que su nombre engañoso date
la columna es en realidad del tipo timestamp
o timestamptz
.
Respuesta relacionada con más detalles y enlaces: