PostgreSQL 的時間序列分析
Jasmin Ludolf
Content Developer, DataCamp

範圍邊界:
範圍以外的作法:依事件或類別分割
範圍 1:2000-2010
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
範圍 2:2010-2020
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020
PARTITION BY RANGECREATE TABLE timetable (
date_info DATE,
train_id INTEGER,
departure_time TIMESTAMP,
arrival_time TIMESTAMP,
delay INTEGER
) PARTITION BY RANGE (date_info);
PARITION OF FOR VALUES FROMtimetable 是一個以 RANGE 方法、在 date_info 上分割的分割表
CREATE TABLE timetable_y2020 PARTITION OF timetable
FOR VALUES FROM ('2020-01-01') to ('2020-12-31');
OVER 子句表示視窗函式regional_timetable 含日期、時間、id、延誤與地區PARTITION BY:視窗函式會把整個表視為一個分割SELECT region, train_id, delay, AVG(delay) OVER (PARTITION BY region)
FROM regional_timetable;
|region|train_id| delay| avg|
|------|--------|--------|--------|
| north| 6|00:00:05|00:00:05|
| north| 2|00:00:03|00:00:05|
| north| 5|00:00:07|00:00:05|
| east| 1|00:00:10|00:00:21|
| east| 3|00:00:32|00:00:21|
| south| 8|00:01:00|00:01:00|
PostgreSQL 的時間序列分析