Servus,
gegeben sein ein Tabellenschema ... ich verwende mal T-SQL fuer Microsofts SQL Server ... Datentypen sind dann ggf nach mySql zu uebersetzen
CREATE TABLE T1 (
ID int not null identity(1,1) primar key clustered,
Menge int not null default (0),
TmStamp datetime not null default (CURRENT_TIMESTAMP)
)
Daten waeren dann in etwa so
ID Menge TmStmp
------------------------------------------------------------------
1 1 10:00:01.123
2 3 10:00:07.123
3 2 10:02:08.123
4 2 10:04:01.123
5 3 10:05:06.666
6 4 10:08:01.777
7 3 10:12:01.123
8 4 10:14:02.666
Um jetzt ein Moving Average oder Moving Sum zu bekommen
SELECT a.Id, a.TmStmp, SUM(b.Menge) AS MovingSum, Min(b.TmStmp) AS SampleBegin, Max(b.TmStmp) AS SampleEnd, COUNT(b.Id) AS CountSamples
FROM T1 a
INNER JOIN T1 b ON b.TmStmp <= a.TmStamp -- alternatively DATEDIFF(s, b.TmStmp, a.TmStmp) BETWEEN 0 AND 600
WHERE DATEDIFF(s, b.TmStmp, a.TmStmp) BETWEEN 0 AND 600
GROUP BY a.Id, a.TmStmp
ORDER BY a.Id
Und diese Ergebnisse kannst du dann filtern mit einem beliebigen Datum/Zeit als Parameter und einem ORDER BY TmStmp DESC und LIMIT 1 ...
So schwer war's doch nich, oder?
Ciao und Gruss aus der Kararibik, Frank