Hallo,
ich komme irgendwie nicht weiter ... Ich habe einen recht umfangreichen Datensatz zum Thema Klima für gut 2000 Standorte (durch lat und long definiert). Die Daten enthalten u.a. die Durchschnittstemperatur (tav), die durchschnittliche Minimal- (tmin) und Maximaltemperatur (tmax) sowie den durchschnittlichen Niederschlag (rrr). Die Daten sind für 9 Jahre vorhanden, jeweils 3 Werte pro Monate (also Dekaden, 10-Tages-Intervalle).
Die über die 9 Jahre gemessenen durchschnittlichen Januarwerte frage ich z.B. so ab:
SELECT latitude, longitude, AVG(tav) 01_tav, AVG(tmax) 01_tmax, AVG(tmin) 01_tmin, AVG(rrr) 01_rrr
FROM f2000to2008
WHERE MONTH = 1
GROUP BY latitude, longitude
ORDER BY latitude, longitude
Nun würde ich mit möglichst wenigen Abfragen
- die Durchschnittswerte für alle Monate über die 9 Jahre abfragen (also als Spalten erhalten: latitude, longitude, 01_tav, 01_tmax, ..., 12_rrr)
- sowie das gleich für die 9 Jahre in Folge (ist aber erst mal nebensächlich).
Wie stelle ich das am geschicktesten an? Irgendwie benötige ich wohl eine Pivot/Kreuztabelle, oder? Da komme ich aber nicht wirklich mit zurecht. Und mit Subqueries und Unions bin ich auch nicht weiter gekommen.
Vielen Dank & Grüße,
luti
ps: Ich verwende MySQL 5.