Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie berechne ich einen gleitenden Durchschnitt mit MySQL?

Das ist mir gerade eingefallen, und ich bin auf dem Weg zur Tür, also ist es ungetestet. Ich kann mir auch nicht vorstellen, dass es bei großen Datensätzen sehr gut funktionieren würde. Ich habe aber bestätigt, dass es zumindest fehlerfrei läuft. :)

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