比方说,我有一个表,一时间片这样的:如何在PostgreSQL中获得时间戳的浮动平均值?
CREATE TABLE foo (
spent_on DATETIME,
hours FLOAT
)
假设spent_on
是时间戳值记录下来,并hours
是代表花在工作小时数的浮点值。
如何获得过去7天内小时的平均浮动时间?
我想出了下面的,但它不会工作:
select spent_on, hours, avg(hours)
over RANGE BETWEEN spent_on - INTERVAL '7 days' AND CURRENT ROW from daily;
我得到以下错误:
ERROR: syntax error at or near "ROW"
LINE 1: ... BETWEEN spent_on - INTERVAL '7 days' AND CURRENT ROW from d...
我试图了解窗口函数的文档,但是我很难在分区,窗口和框架之间抓住这个想法。结果,不能拿出一个查询。
不幸的Postgres目前不支持基于间隔的范围。 –