回答編集履歴
2
サンプルコードの結果も添えて
answer
CHANGED
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
) as tt on t1.日時 = tt.日時
|
|
13
13
|
order by t1.日時
|
|
14
14
|
```
|
|
15
|
+

|
|
15
16
|
示されたデータ構造でテーブル t_223381 を作って動かしました。
|
|
16
|
-
先に示したやり方では、常に5で割ってしまうため、
|
|
17
17
|
値が存在する日時をcountで求めて割ることによって、正しく平均値を求めるようにしています。
|
1
見直し
answer
CHANGED
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
from t_223381 as t1
|
|
6
6
|
left join t_223381 as t2 on t1.日時 = t2.日時 + '1 minute'::interval
|
|
7
7
|
left join (
|
|
8
|
-
select t3.日時, sum(t4.値) /
|
|
8
|
+
select t3.日時, sum(t4.値) / count(t4.日時) as "平均値"
|
|
9
9
|
from t_223381 as t3, t_223381 as t4
|
|
10
10
|
where t4.日時 between t3.日時 + '-4 minutes'::interval and t3.日時
|
|
11
11
|
group by t3.日時
|
|
12
12
|
) as tt on t1.日時 = tt.日時
|
|
13
13
|
order by t1.日時
|
|
14
14
|
```
|
|
15
|
-
示されたデータ構造でテーブル t_223381 を作って動かしました。
|
|
15
|
+
示されたデータ構造でテーブル t_223381 を作って動かしました。
|
|
16
|
+
先に示したやり方では、常に5で割ってしまうため、
|
|
17
|
+
値が存在する日時をcountで求めて割ることによって、正しく平均値を求めるようにしています。
|