Hallo,
Ansonsten solltest Du meinen Ansatz aus dem Archiv auf Dein Problem anwenden können.
Danke, das hat jetzt wunderbar geklappt! Weiter unten der "längliche" Code (für die Nachwelt).
Die Query hat ohne Indices jetzt 4,5 Sekunden gedauert. Was für Indices würdest Du / würdet ihr denn setzten? Also über welche Spalten, meine ich. Damit wollte ich mich schon immer mal etwas näher befassen ... Aber eine Kurze Antwort wäre z.Zt. auch sehr hilfreich.
Bei einer "einfachen" Abfrage á la "SELECT ... where ID=" würde ich natürlich einfach die ID-Spalte indizieren. Aber im obigen Beispiel? Ein Index für über alle Spalten? Einen über lat+long, plus je einen pro CASE???
Dank & Gruß,
luti
Und hier noch die Abfrage:
SELECT latitude, longitude,
# mittlere Durchschnittswerte
AVG(CASE WHEN MONTH = 1 THEN tav ELSE NULL END) AS 01_tav,
...
AVG(CASE WHEN MONTH =12 THEN tav ELSE NULL END) AS 12_tav,
# mittlere Maximalwerte
AVG(CASE WHEN MONTH = 1 THEN tmax ELSE NULL END) AS 01_tmax,
...
AVG(CASE WHEN MONTH =12 THEN tmax ELSE NULL END) AS 12_tmax,
# mittlere Minimalwerte
AVG(CASE WHEN MONTH = 1 THEN tmin ELSE NULL END) AS 01_tmin,
...
AVG(CASE WHEN MONTH =12 THEN tmin ELSE NULL END) AS 12_tmin,
# mittlere Niederschläge
AVG(CASE WHEN MONTH = 1 THEN rrr ELSE NULL END) AS 01_rrr,
...
AVG(CASE WHEN MONTH =12 THEN rrr ELSE NULL END) AS 12_rrr
FROM f2000to2008
GROUP BY latitude, longitude
ORDER BY latitude, longitude