上一列范围到当前列的SQL平均值
我试图获得以下计算结果,但在行级别,在下图中,我计算了每天的平均值(可以有n行),然后使用LAG函数将前一行的平均值插入下一行LAG_VAL列 现在我在行级别进行计算,我已经能够使用窗口函数(分析)获得该范围数据的平均值 但我无法计算前一天的平均值,如前一幅图所示,插入第二天的范围 我不确定是否有办法通过范围函数实现这一点,如果我需要使用PLSQL。在我的脑海中(没有匹配的模式进行测试),这个窗口子句应该可以工作:上一列范围到当前列的SQL平均值,sql,oracle,lag,Sql,Oracle,Lag,我试图获得以下计算结果,但在行级别,在下图中,我计算了每天的平均值(可以有n行),然后使用LAG函数将前一行的平均值插入下一行LAG_VAL列 现在我在行级别进行计算,我已经能够使用窗口函数(分析)获得该范围数据的平均值 但我无法计算前一天的平均值,如前一幅图所示,插入第二天的范围 我不确定是否有办法通过范围函数实现这一点,如果我需要使用PLSQL。在我的脑海中(没有匹配的模式进行测试),这个窗口子句应该可以工作: (partition by to_date(to_char(DATETIME
(partition by to_date(to_char(DATETIMEOFREADING, 'DD/MM/RRRR') order by dates range between interval '1' day preceding and interval '1' day preceding)
这是简单的SQL,因此它在PL/SQL内部和外部都能工作。谢谢,我通过您的建议解决了这个问题。和之后缺少间隔关键字。舍入(平均值(SUMCOUNTSFT3)在(订单截止日期(截止日期为“读取的日期时间,'DD/MM/rrrrr'))范围介于前一天的间隔“1”和前一天的间隔“1”之间),2)作为其工作前的平均值!我批准了编辑,因此每个可能感兴趣的人都可以立即使用答案,而无需阅读评论。
(partition by to_date(to_char(DATETIMEOFREADING, 'DD/MM/RRRR') order by dates range between interval '1' day preceding and interval '1' day preceding)