sql >> Databasteknik >  >> RDS >> Mysql

Hur beräknar jag ett glidande medelvärde med MySQL?

Det här är precis utanför mitt huvud, och jag är på väg ut genom dörren, så det är oprövat. Jag kan inte heller föreställa mig att det skulle fungera särskilt bra på någon form av stor datamängd. Jag bekräftade dock att den åtminstone körs utan fel. :)

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


  1. Varför och var man ska använda INDEX - för- och nackdelar

  2. MySQL - kan jag begränsa den maximala tiden som tillåts för en fråga att köras?

  3. få JOIN-tabellen som en rad resultat med PostgreSQL/NodeJS

  4. Resurs-id #4 PHP MYSQL