在Postgres中以毫秒为单位的下采样时间戳

我有一张桌子,如下

timestamp                    v1    v2    v3
2020/01/01 08:10:20.300      10    20    30
2020/01/01 08:10:20.306      11    21    31
2020/01/01 08:10:20.310      12    22    32
2020/01/01 08:10:20.318      13    23    33
2020/01/01 08:10:20.325      14    24    34
.......................
2020/01/01 08:10:21.100      19    29    39

可以看出,时间戳记在毫秒内变化不均匀,并且具有大量的粒度数据。 我有兴趣压缩表,以便时间戳和数据列每100毫秒平均一次,即100毫秒之间的所有数据均被平均。

我有一个似乎有效的解决方案,但平均值超过了每秒而不是每隔100毫秒。

SELECT date_trunc('second', timestamp) AS timestamp
      ,avg(v1) AS avg_v1
      ,avg(v2) AS avg_v2
      ,avg(v3) AS avg_v3
FROM   myTable
GROUP  BY 1;

请指导我如何解决此问题。 谢谢