Utilisez date_trunc()
pour tronquer les horodatages à une unité de temps donnée, et GROUP BY cette expression :
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;
En supposant que votre date nommé de manière trompeuse la colonne est en fait de type timestamp ou timestamptz .
Réponse connexe avec plus de détails et de liens :