来自每月日期范围数据的年平均值
Posted
技术标签:
【中文标题】来自每月日期范围数据的年平均值【英文标题】:yearly average from monthly daterange data 【发布时间】:2018-02-15 10:07:55 【问题描述】:我在postgresql中有下表;
Value period
1 [2017-01-01,2017-02-01)
2 [2017-02-01,2017-03-01)
3 [2017-03-01,2017-04-01)
4 [2017-04-01,2017-05-01)
5 [2017-05-01,2017-06-01)
6 [2017-06-01,2017-07-01)
7 [2017-07-01,2017-08-01)
8 [2017-08-01,2017-09-01)
9 [2017-09-01,2017-10-01)
10 [2017-10-01,2017-11-01)
11 [2017-11-01,2017-12-01)
12 [2017-12-01,2018-01-01)
13 [2018-01-01,2018-02-01)
14 [2018-02-01,2018-03-01)
15 [2018-03-01,2018-04-01)
16 [2018-04-01,2018-05-01)
17 [2018-05-01,2018-06-01)
18 [2018-06-01,2018-07-01)
19 [2018-07-01,2018-08-01)
20 [2018-08-01,2018-09-01)
21 [2018-09-01,2018-10-01)
22 [2018-10-01,2018-11-01)
23 [2018-11-01,2018-12-01)
24 [2018-12-01,2019-01-01)
25 [2019-01-01,2019-02-01)
26 [2019-02-01,2019-03-01)
27 [2019-03-01,2019-04-01)
28 [2019-04-01,2019-05-01)
29 [2019-05-01,2019-06-01)
30 [2019-06-01,2019-07-01)
31 [2019-07-01,2019-08-01)
32 [2019-08-01,2019-09-01)
33 [2019-09-01,2019-10-01)
34 [2019-10-01,2019-11-01)
35 [2019-11-01,2019-12-01)
36 [2019-12-01,2020-01-01)
37 [2020-01-01,2020-02-01)
38 [2020-02-01,2020-03-01)
39 [2020-03-01,2020-04-01)
40 [2020-04-01,2020-05-01)
41 [2020-05-01,2020-06-01)
42 [2020-06-01,2020-07-01)
如何从 postgresql 中的月度数据中获取年平均值?
注意:列值是整数类型,列期间是日期范围。
预期的结果应该是
6.5 2017
18.5 2018
30.5 2019
39.5 2020
【问题讨论】:
到目前为止你做了什么? 【参考方案1】:如果你的月经总是一个月,包括下限不包括上限,你可以试试这个
select
avg(value * 1.0) as average,
extract(year from lower(period)) as year
from table
group by year
【讨论】:
以上是关于来自每月日期范围数据的年平均值的主要内容,如果未能解决你的问题,请参考以下文章