エンティティ名、年、アクティビティ番号が となっているテーブルがあります。何年もの間、何の活動もありません。x年前からの計算実行合計
name | year | act_num
-----+------+---------
aa | 2000 | 2
aa | 2001 | 6
aa | 2002 | 9
aa | 2003 | 15
aa | 2005 | 17
b | 2000 | 3
b | 2002 | 4
b | 2003 | 9
b | 2005 | 12
b | 2006 | 2
postgresqlで作成する。
CREATE TABLE entity_year_activity (
name character varying(10),
year integer,
act_num integer
);
INSERT INTO entity_year_activity
VALUES
('aa', 2000, 2),
('aa', 2001, 6),
('aa', 2002, 9),
('aa', 2003, 15),
('aa', 2005, 17),
('b', 2000, 3),
('b', 2002, 4),
('b', 2003, 9),
('b', 2005, 12),
('b', 2006, 2);
私は怒鳴るように毎年のために各エンティティの今年の活動の 数の過去のx年間の合計数を持っていると思います。
x = 3年の例として。
name | year | act_num | total_3_years
-----+------+---------+---------------
aa | 2000 | 2 | 2
aa | 2001 | 6 | 8
aa | 2002 | 9 | 17
aa | 2003 | 15 | 30
aa | 2004 | 0 | 24
aa | 2005 | 17 | 32
b | 2000 | 3 | 3
b | 2001 | 0 | 3
b | 2002 | 4 | 7
b | 2003 | 9 | 13
b | 2005 | 12 | 21
b | 2006 | 2 | 14
大きな質問です。サンプルデータ、期待される出力、DDLしかし、スタックオーバーフローはタブを保持しないので、あなたの 'COPY'アウトプットはマングルされてしまいます。 'COPY ... CSV'を使うのが良いです。 –