我有一个包含timestamp
列(timestamp with time zone
)的表格。我想知道每对连续时间戳之间的间隔的中间长度。
例如,08:00
,08:10
,08:30
,09:00
的时间戳(在同一天),我想要20 minutes
,因为中间间隔连续时间戳之间是20分钟。
我一直在尝试使用窗口函数和超前/滞后的东西,但没有成功。
此代码可能有助于设置情况。
CREATE TABLE timestamps (
"timestamp" timestamp with time zone
);
COPY timestamps ("timestamp") FROM stdin;
2017-08-02 08:00:53.550685-00
2017-08-02 08:10:53.550685-00
2017-08-02 08:30:53.550685-00
2017-08-02 09:00:53.550685-00
\.
答案 0 :(得分:2)
尝试:
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER by X) FROM
(
SELECT *,
timestamps - lag(timestamps) over (order by timestamps) As x
FROM Table1
) x