4

過去7日間のテーブルの移動平均を計算するクエリがあります。私のテーブルには、日付型であり、1日間隔の日付系列であるdate_of_dataとfloatであるvalの2つの列があります。

with B as
(SELECT   date_of_data, val
FROM mytable
group by date_of_data
order by date_of_data)
select
    date_of_data,val, avg(val) over(order by date_of_data rows 7 preceding)mean7
from B
order by date_of_data;

7日間の移動フィルターを計算したい。これは、すべての行について、移動ウィンドウに過去3日間、行自体、および後続の3つの行が含まれることを意味します。後続の行を考慮するコマンドが見つかりません。誰かがこれについて私を助けることができますか?

4

1 に答える 1

11

これを試して:

select date_of_data, 
       val, 
       avg(val) over(order by date_of_data ROWS BETWEEN 3 preceding AND 3 following) as mean7
from mytable
order by date_of_data;
于 2013-01-25T21:48:09.120 に答える