【发布时间】:2021-11-28 15:38:03
【问题描述】:
我有一个带有每小时值的 SQL 表 (postgreSQL/TimescaleDB),例如:
Timestamp Value
...
2021-02-17 13:00:00 2
2021-02-17 14:00:00 4
...
2021-02-18 13:00:00 3
2021-02-18 14:00:00 3
...
我想在特定时间跨度内将每个小时的平均值映射到今天的日期,所以像这样:
select avg(value)
from table
where Timestamp between '2021-02-10' and '2021-02-20'
group by *hourpart of timestamp*
今天(2021-10-08)的结果应该是:
...
Timestamp Value
2021-10-08 13:00:00 2.5
2021-10-08 14:00:00 3.5
...
如果我明天(2021-10-09)做同样的选择,结果应该变成:
...
Timestamp Value
2021-10-09 13:00:00 2.5
2021-10-09 14:00:00 3.5
...
【问题讨论】:
-
(1) 请提供查询以创建样本表并插入样本数据并根据该样本描述预期的结果集。 (2) 请告知我们在 SQL Server 上测试过的解决方案是否可以帮助您 - 即使它们使用相同的基本语言 tsql 也可能不适合 postgreSQL)