2014-10-20 104 views
2

我有一個表格,其中包含毫秒時間序列列,我想對時間序列進行重新採樣,並將平均值應用於組。我如何在Postgres中實現它?對時間序列數據重採樣

「重新採樣」是指在一秒或一分鐘內彙總所有時間戳。一秒鐘或一分鐘內的所有行形成一個組。

表結構

date x y z 
+1

你說的重採樣是什麼意思?你如何定義一個組? – 2014-10-20 11:55:56

+0

請提供表格定義,測試數據和您嘗試的查詢(即使它不工作)。另外,你的Postgres版本。 – 2014-10-20 13:07:25

+0

什麼是您的postgres版本? – 2014-10-20 13:08:48

回答

4

使用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類型是。

更多的細節和鏈接相關答案: