Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment calculer une moyenne mobile avec MySQL ?

C'est juste au sommet de ma tête, et je suis sur le point de sortir, donc ce n'est pas testé. Je ne peux pas non plus imaginer qu'il fonctionnerait très bien sur n'importe quel type de grand ensemble de données. J'ai confirmé qu'il fonctionne au moins sans erreur. :)

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