我有一个表,它每5分钟就会得到一个浮点数。

我试图得到它们之间的差值之和(现在的读数减去之前的读数),格式为一小时。
我的尝试:

但我要的不是power的和,而是差的和。
另一次尝试
select
date_trunc('hour', log_time) as per_hour,
sum(power-lag(power) over(order by log_time))
from log
where location_id='4'
and log_time BETWEEN now() - (interval '1 day') AND now()
group by per_hour, log_time, power
order by per_hour我得到的错误是:
ERROR: aggregate function calls cannot contain window function calls
LINE 3: sum(power-lag(power) over(order by log_time))发布于 2015-08-21 13:59:12
正如您在注释中所定义的:
幂列之间的差值的
和
select sum(diff) from
(
select power - coalesce(lag(power) over (),power) diff, * from log
) diff我省略了group by和order by,因为他们仍然不理解这个问题。
https://stackoverflow.com/questions/32132211
复制相似问题