Bonjour,
J'ai une table 'releve' qui contient plusieurs champs: id, date, heure, temperature (c'est un relevé météo d'une année avec une fréquence de mesure d'1 quart d'heure....)
J'obtiens ceci avec la requête précédente:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT MAX(temperature) AS temperature, date, heure FROM releve WHERE TO_DAYS(NOW()) - TO_DAYS(date) <7 GROUP BY date
temperature| date| heure
8.64722| 2008-11-24| 00:15:00
7.36931| 2008-11-25| 00:15:00
9.44333| 2008-11-26| 00:15:00
8.82167| 2008-11-27| 00:15:00
6.37695| 2008-11-28| 00:15:00
5.38833| 2008-11-29| 00:15:00
3.83257| 2008-11-30| 00:15:00
Le problème est que l'heure retournée ne correspond pas à l'heure où la température était la maximale mais à l'heure du premier enregistrement de la journée (minuit quinze)
Visiblement on ne peut pas mettre de MAX() dans une clause WHERE, sinon j'aurais fait ça:
d'avance merci pour l'aide apportée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT MAX(temperature) AS temperature, date, heure FROM releve WHERE TO_DAYS(NOW()) - TO_DAYS(date) <7 AND temperature = MAX(temperature) GROUP BY date
Partager