sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo calculo un promedio móvil usando MySQL?

Esto se me acaba de pasar por la cabeza, y estoy saliendo por la puerta, por lo que no se ha probado. Tampoco puedo imaginar que funcione muy bien en cualquier tipo de conjunto de datos grande. Sin embargo, confirmé que al menos se ejecuta sin un error. :)

SELECT
     value_column1,
     (
     SELECT
          AVG(value_column1) AS moving_average
     FROM
          Table1 T2
     WHERE
          (
               SELECT
                    COUNT(*)
               FROM
                    Table1 T3
               WHERE
                    date_column1 BETWEEN T2.date_column1 AND T1.date_column1
          ) BETWEEN 1 AND 20
     )
FROM
     Table1 T1