sql >> Databáze >  >> RDS >> Mysql

Výpočet klouzavého průměru MySQL?

Pokud chcete klouzavý průměr pro každé datum, zkuste toto:

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

K výpočtu průměru 9 hodnot používá korelovaný dílčí dotaz.



  1. Jak mohu vytvořit primární klíč jako AUTOINCREMENT

  2. PostgreSQL vs. MySQL

  3. Jak optimalizovat výkon COUNT(*) na InnoDB pomocí indexu

  4. PostgreSQL Nested JSON Querying