小编use*_*853的帖子

在每小时的小时范围内汇总值

我有一个PostgreSQL 9.1数据库,其中包含一个包含时间戳和测量值的表

'2012-10-25 01:00'   2
'2012-10-25 02:00'   5
'2012-10-25 03:00'   12
'2012-10-25 04:00'   7
'2012-10-25 05:00'   1
...                  ...
Run Code Online (Sandbox Code Playgroud)

我需要在每小时8小时的范围内平均值.换句话说,我需要平均1h-8h,2h-9h,3h-10h等.

我不知道如何进行这样的查询.我到处寻找,但也不知道要寻找什么功能.

我发现的关闭是每小时/每日平均值或平均值(例如1小时-8小时,9小时-16小时等).但在这些情况下,时间戳只是使用date_trunc()函数转换(如下例所示),这对我没用.

我认为我正在寻找的是与此类似的功能

SELECT    date_trunc('day', timestamp), max(value) 
FROM      table_name
GROUP BY  date_trunc('day', timestamp);
Run Code Online (Sandbox Code Playgroud)

但是在分组条款中每小时使用一些8小时的范围.这甚至可能吗?

sql postgresql datetime window-functions postgresql-9.1

13
推荐指数
1
解决办法
4859
查看次数