如何解决Postgres按时间戳分组到6个小时的存储桶中
我认为将(商的小时数/ 6)的商的整数值分组应该会有所帮助。试试看,看看是否有帮助。您的分组依据应该是
group by year, month, day, trunc(EXTRACT(hour from TIMESTAMP) / 6)
其背后的逻辑是,当日期的小时部分除以6时,int值只能是
0 - 0:00 - 5:59:59
1 - 6:00 - 11:59:59
2 - 12:00 - 17:59:59
3 - 18:00 - 23:59:59
使用此功能进行分组应该每天将您的数据分为4组,这是您所需要的。
解决方法
我有下面的简单表:
ID TIMESTAMP VALUE
4 2011-05-27 15:50:04 1253
5 2011-05-27 15:55:02 1304
6 2011-05-27 16:00:02 1322
7 2011-05-27 16:05:01 1364
我想了平均VALUES
,并且GROUP
每TIMESTAMP
一天为6个小时桶。例如00:00至06:00、06:00至12:00、12:00至18:00和18:00至00:00。
我可以使用以下查询按年,月,日和小时分组:
select avg(VALUE),EXTRACT(year from TIMESTAMP) AS year,EXTRACT(month from TIMESTAMP) AS month,EXTRACT(day from TIMESTAMP) as day
from TABLE
group by year,month,day
但是我无法将每天分为上述4个时段,非常欢迎您提供任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。