对时间序列数据进行重新采样

时间:2014-10-20 11:54:55

标签: sql postgresql time-series aggregate-functions

我有一个带有时间序列列的表,毫秒级,我想重新采样时间序列并对组应用均值。如何在Postgres中实现它?

"重新取样"表示在一秒或一分钟内汇总所有时间戳。一秒或一分钟内的所有行组成一个组。

表格结构

date    x    y    z

1 个答案:

答案 0 :(得分:8)

使用date_trunc()截断给定时间单位的时间戳,并GROUP BY表达式:

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;

假设您的误导名称date列实际上属于timestamp类型。

相关答案以及更多详情和链接: