Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изчислим пълзяща средна стойност в MySQL в корелирана подзаявка?

Ако вашата времева линия е непрекъсната (1 стойност всеки ден), можете да подобрите първия си опит по следния начин:

SELECT c.date,
       ( SELECT AVERAGE(m.value) 
         FROM   measures as m
         WHERE  m.measured_on_dt 
                    BETWEEN DATE_SUB(c.date, INTERVAL 5 day) AND c.date
       ) as `average_to_date`
FROM    calendar c
WHERE   c.date between date1 AND date2  -- graph boundaries
ORDER BY c.date ASC

Ако вашата времева линия има дупки в нея, това ще доведе до по-малко от 5 стойности за средната стойност.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Извличане на най-ниската стойност

  2. Кой е най-добрият начин за връщане на enum стойности в MySQL?

  3. Намерете най-близката дата и час до определена дата и час в mysql заявка

  4. SQL:Как да поддържам ред на редовете с DISTINCT?

  5. как да изберете брой от основната заявка в подзаявка