我有以下简单表:
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,并将每个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个时段,我们非常欢迎任何帮助.
解决方法
我认为分组(时间戳/ 6的小时)商的整数值应该有所帮助.试试吧,看看它是否有帮助.
你的小组应该是这样的
你的小组应该是这样的
group by year,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组,这正是您所需要的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。