我有一些特定时间的值,如
Time Value
18/10/2016 00:00:00 10
18/10/2016 00:05:00 20
18/10/2016 00:10:00 30
18/10/2016 00:15:00 40
18/10/2016 00:20:00 50
18/10/2016 00:25:00 60
18/10/2016 00:30:00 70
我想把它聚合到15分钟的数据。我的聚合应该是在18/10/2016 00:15:00,它应该花费5分钟,10分钟和15分钟的平均值来给出第15分钟的数据。
我的输出应该像
Time value
18/10/2016 00:15:00 30
18/10/2016 00:30:00 60
有没有办法在oracle中获得这个?
答案 0 :(得分:0)
这是一种方法:
select (trunc(time, 'HOUR') + 15 * trunc(extract(minute from time) / 15) / (60 * 24)) as time,
sum(value)
from t
group by (trunc(time, 'HOUR') + 15 * trunc(extract(minute from time) / 15) / (60 * 24));