Sql 滚动日期期间的平均值
我有4个维度,其中一个是日期。我需要计算每个日期,过去30天的平均值,每个维度值 我曾尝试以以下形式通过4维对分区进行平均计算:Sql 滚动日期期间的平均值,sql,teradata,Sql,Teradata,我有4个维度,其中一个是日期。我需要计算每个日期,过去30天的平均值,每个维度值 我曾尝试以以下形式通过4维对分区进行平均计算: SELECT Date, Produce,Company, Song, Revenues, Average(case when Date between Date -Interval '31' day and Date - Interval '1' Day then Revenues else null End) over (partition by Date,Com
SELECT
Date, Produce,Company, Song, Revenues,
Average(case when Date between Date -Interval '31' day and Date - Interval '1' Day then Revenues else null End) over (partition by Date,Company,Song,Revenues order by Date) as "Running Average"
From
Base_Table
我尝试的每次聚合都只得到空值。
谢谢你的帮助。谢谢你可以在下面试试-
SELECT
Date, Produce,Company, Song, Revenues,
Average(Revenues) over (partition by Company,Song rows between 30 preceding and current row) as "Running Average"
From
Base_Table
... 并通过Perfect从
分区中删除日期
。非常感谢@fa06如果没有order by子句,您如何知道结果是指过去x天?我认为您需要包括order by DESC