提问者:小点点

如何在MySQL8中用两个变量进行滚动平均?


我在想怎么做一个日期和州的滚动平均值。

下面的查询只给出了COVID案例正增长的平均数,但没有按州分列。

我找不到任何示例(如果我错过了,很抱歉)可以扩展下面的查询逻辑,以按日期+状态进行滚动平均。

提前谢谢你。

SELECT
    date,
    state,
    positiveIncrease,
    AVG( positiveIncrease ) OVER ( ORDER BY date DESC RANGE INTERVAL 3 DAY PRECEDING ) AS rolling_average 
FROM
    `covid-history` 
ORDER BY
    date DESC

共1个答案

匿名用户

只需将state添加到窗口函数的partition by子句:

AVG(positiveIncrease) OVER ( 
    PARTITION BY state      -- partition clause
    ORDER BY date DESC 
    RANGE INTERVAL 3 DAY PRECEDING 
) AS rolling_average

相关问题