Usa date_trunc()
per troncare i timestamp a una determinata unità di tempo e GROUP BY
quell'espressione:
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;
Supponendo che il tuo nome fuorviante date
la colonna è in realtà di tipo timestamp
o timestamptz
.
Risposta correlata con maggiori dettagli e collegamenti: