sql >> Databasteknik >  >> RDS >> Mysql

Beräknar du ett glidande medelvärde för MySQL?

Om du vill ha ett glidande medelvärde för varje datum, prova detta:

SELECT date, SUM(close),
       (select avg(close) from tbl t2 where t2.name_id = t.name_id and datediff(t2.date, t.date) <= 9
       ) as mvgAvg
FROM tbl t
WHERE date <= '2002-07-05' and
      name_id = 2
GROUP BY date
ORDER BY date DESC

Den använder en korrelerad underfråga för att beräkna medelvärdet av 9 värden.



  1. Oracle Analytic-funktioner - återställning av en fönsterklausul

  2. Importera export mysql databas kommandorad supersnabb

  3. Hur LIKE-operatören fungerar i MySQL

  4. Konvertera kolumnen Datetime från UTC till lokal tid i select-satsen