=====Temperaturauswertung mit Datenbank===== Die heißen Tage haben mich inspiriert, die gemessenen heißen Tage und Tropennächte zu ermitteln. Die Datenbank enthält folgende relevanten Felder: time timestamp, temperature float(4,2) **Ermittlung der Sommertage: Bedingung: T(max) ≥ 25 °C** SELECT count(*) AS Anzahl FROM ( SELECT * FROM outdoor WHERE year(time)=2018 GROUP BY date(time) HAVING max(temperature) >= 25.0 ) AS tmp"; **Ermittlung der Hitzetage: Bedingung: T(max) ≥ 30 °C** HAVING max(temperature) >= 30.0 **Ermittlung der Wüstentage: Bedingung: T(max) ≥ 35 °C** HAVING max(temperature) >= 35.0 **Ermittlung der Frosttage: Bedingung: T(min) < 0 °C** HAVING min(temperature) < 0.0 **Ermittlung der Eistage: Bedingung: T(max) < 0 °C** HAVING max(temperature) < 0.0 **Ermittlung der Tropennächte: ** Bedingung: T(min) ≥ 20 °C für den Zeitraum 18.00 - 6:00 Uhr. Die Abfrage ist etwas schwieriger, da Werte zu unterschiedlichen Tagen zusammengefasst werden müssen. Die Idee ist: Ändere temporär für die Werte zwischen 0 und 6 Uhr das Datum um -1, fasse dann alle Zeiten für einen Tag zwischen 18 - 24 Uhr und 0- 6 Uhr zu einer Gruppe zusammen. SELECT count(*) AS Anzahl FROM ( SELECT (CASE when hour(time) between 0 and 5 THEN DATE_ADD(time, INTERVAL -1 DAY) ELSE time END) AS zeit FROM outdoor WHERE year(time)=2018 AND ( hour(time) BETWEEN 18 AND 23 OR hour(time) BETWEEN 0 AND 5 ) GROUP BY date(CASE WHEN hour(time) BETWEEN 0 AND 5 THEN DATE_ADD(time, INTERVAL -1 DAY) ELSE time END) HAVING min(temperature) >= 20.0 ) AS tmp;