Hallo!
Die Subquery
(SELECT SUBDATE(MAX(time), INTERVAL 15 MINUTE) AS c_time,
messpunkt AS m2 FROM messungen) AS r_tsieht so aus als wolltest Du max(time)-15m PRO MESSPUNKT ermitteln; das tut sie aber nicht, sondern sie ermittelt max(time)-15m auf der ganzen Tabelle!
Sorry habe vergessen das group by mit ein zu tippen! Die Abfrage sieht wie folgt aus:
SELECT id, time, messpunkt, data FROM messungen as l_t
INNER JOIN (select SUBDATE(max(time), INTERVAL 15 MINUTE) as c_time,
messpunkt FROM messungen
group by messpunkt ) as r_t
ON l_t.messpunkt = r_t.messpunkt
WHERE l_t.time > r_t.c_time
ORDER BY time DESC
Mit der Subquery erhalte ich den Zeitpunkt für die Messungen vor 15 Minuten, und den verwende ich in der äußeren Abfrage als Prüfung. (l_t.time > r_t.c_time)
Somit bekomme ich die letzten 10 Messungen aller Stationen.
Da es ca. 700 Messpunkte und daher eine Menge an Daten in der Tabelle vorhanden sind dauert die Abfrage aber ewig lange :-(
(Limit ist in MySql 4.1 Subqueries nicht unterstützt.....)
Ich versuche das Problem nun mal mit mehreren Abfragen zu lösen, wenn mir aber jemand einen Tipp geben könnte wäre ich sehr dankbar.
lg mexxwell33