sql >> Database >  >> RDS >> Mysql

Een voortschrijdend gemiddelde MySQL berekenen?

Als je het voortschrijdend gemiddelde voor elke datum wilt, probeer dan dit:

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

Het gebruikt een gecorreleerde subquery om het gemiddelde van 9 waarden te berekenen.



  1. Automatisch verhogen na verwijderen in MySQL

  2. Rails:Geen verbindingspool voor ActiveRecord::Base

  3. Verschil tussen BYTE en CHAR in kolomgegevenstypes

  4. (-) streepje gebruiken in mysql-tabelnaam