尽管此博客已有3 1/2年的历史,但请您澄清一下。这篇博文完全解释了我面临的一个问题(并提供了一个很好的答案)。
因此,我在pgAdmin 4中使用表名复制了SQL语法,并在表中添加了一个名为“ delta”的新列,并运行了查询。但是,我得到的答案远非如此,“ delta”中的值全为零(00:00:00),而我的等效列为“ ts”(我有一个名为“ utc_timestamp”的列-格式为“带时区的时间戳” ')还显示了不同的值-'2018-10-02'17:00:00-07'而不是原始值->'2018-10-03 01:47:30-07'。我的PostgreSQL版本是10.5,并在pgAdmin 4中进行了查询。
我发现的唯一区别是示例列“ ts”的数据类型为“时间戳”,而我的“ utc_timestamp”列的数据类型为“带有时区的时间戳”
这是我从博客改编并使用pgAdmin 4运行它的SQL:
SELECT
utc_timestamp,
utc_timestamp
– lag(utc_timestamp, 1) OVER (ORDER BY utc_timestamp) delta
FROM newtable1
ORDER BY utc_timestamp;
我在做什么错了?