sql - 计算全小时费用总和
问题描述
基于表中的值:时间戳,成本我想每小时获得成本值的增量总和。
桌子:
时间戳 | 价格 |
---|---|
2021-01-12 00:05:00 | 1 |
2021-01-12 01:01:00 | 1 |
2021-01-12 02:06:00 | 3 |
2021-01-12 03:01:00 | 3 |
2021-01-12 03:02:00 | 2 |
预期结果:
时间戳 | 价格 |
---|---|
2021-01-12 01:00:00 | 1 |
2021-01-12 02:00:00 | 2 |
2021-01-12 03:00:00 | 5 |
2021-01-12 04:00:00 | 10 |
解决方案
您可以使用group by
截断为小时的日期,然后使用如下分析函数:
select timestamp_trunc(Timestamp , HOUR) as tst,
sum(sum(price)) over (order by timestamp_trunc(Timestamp , HOUR)) as price
from your_table t
group by tst
order by tst