j'ai une table très simple (qui est alimentée toute les 5 secondes) :
Date
Valeur
Pour récupérer la valeur moyenne des 15 dernières secondes, je fais :
Code : Tout sélectionner
SELECT AVG(valeur) AS valeur_moyenne FROM table WHERE DATETIME(date) > DATETIME('NOW', '-15 seconds');
Mon idée est alors de récupérer les 3 dernières valeurs et d'en faire la moyenne.
La récup est très rapide
Code : Tout sélectionner
SELECT valeur FROM table ORDER BY date DESC LIMIT 0,3
Code : Tout sélectionner
SELECT AVG(valeur) FROM table ORDER BY date DESC LIMIT 0,3
Merci