0
我在我的PostgreSQL 9.5数据库中有一个包含小时数据的表my_data
。样本数据如下:如何在PostgreSQL中将每小时数据汇总为每日,每周,每月和每年的值?
ID Date hour value
1 01/01/2014 1 9.947484
2 01/01/2014 2 9.161652
3 01/01/2014 3 8.509986
4 01/01/2014 4 7.666654
5 01/01/2014 5 7.110822
6 01/01/2014 6 6.765822
7 01/01/2014 7 6.554989
8 01/01/2014 8 6.574156
9 01/01/2014 9 6.09499
10 01/01/2014 10 8.471653
11 01/01/2014 11 11.36581
12 01/01/2014 12 11.25081
13 01/01/2014 13 9.391651
14 01/01/2014 14 6.976655
15 01/01/2014 15 6.574156
16 01/01/2014 16 6.420823
17 01/01/2014 17 6.229156
18 01/01/2014 18 5.577491
19 01/01/2014 19 4.964159
20 01/01/2014 20 6.593323
21 01/01/2014 21 7.321654
22 01/01/2014 22 9.295818
23 01/01/2014 23 8.241653
24 01/01/2014 24 7.014989
25 02/01/2014 1 6.842489
26 02/01/2014 2 7.513321
27 02/01/2014 3 7.244988
28 02/01/2014 4 5.80749
29 02/01/2014 5 5.481658
30 02/01/2014 6 6.669989
.. .. .. ..
等等。这些数据以相同的方式存在多年。上表的结构是:ID(整数序列不为空),日期(日期)(mm/dd/yyyy),小时(整数),值(数值)。对于上述大量数据,我如何在PostgreSQL中查找每日,每周,每月和每年的平均值?
第一个案件工作正常,但月平均。它修复了如下日期:2014-01-01,2014-02-01,2014-03-01,2014-04-01而不是代码中指定的yyyymm?日期值存储为日期。 –
@JibranKhan。 。 。 'date_trunc()'返回该月的第一天。我只是称它为'yyyymm'来表示它代表了一个月。 'to_char(date,'YYYY-MM')'也可以使用。 –
是的,谢谢。修复 –