在我的PostgreSQL数据库中,我有以下模式:
CREATE TABLE programs (
id integer,
description text
);
CREATE TABLE public.messages (
id integer,
program_id integer,
text text,
created_at timestamp with time zone
);
INSERT INTO programs VALUES(1, 'Test program');
INSERT INTO messages VALUES(1,1, 'Test message 1', now() - interval '7 days');
INSERT INTO messages VALUES(2,1, 'Test message 2', now() - interval '4 days');
INSERT INTO messages VALUES(3,1, 'Test message 3', now() - interval '1 days');
我想计算
created_at
在消息表中。它应该这样工作:
-
计算间隙
创造在
第一条和第二条消息。
-
计算间隙
创造在
第二条和第三条消息。
-
根据这些值计算平均间隙。
在PostgreSQL中有没有什么方法可以做到这一点?
https://www.db-fiddle.com/f/gvxijmp8u6wr6mYcSoAeVV/0