j'ai une table "archive"et sur cette table est fait un enregistrement toutes les 5 minutes. les champs que je veux récupérer sont le max de la température de chaque jour et la date et l'heure associé à cette valeur maxi. un aperçu de ma table :
pour récupérer ces infos j'essai cette requête qui me donne bien le maxi de chaque jour mais pas du tout l'heure qui correspond à la valeur maxi.
SELECT `recdateTZ`,periode, MAX(temp_out) as temp_max FROM archive GROUP BY periode
J'ai modifié la structure du champ "periode " en DATETIME puis avec cette requête j'obtiens quasi ce que je voudrai :
SELECT CAST(t.`periode` AS DATE) AS dateMesure, CAST(t.`periode` AS TIME) AS heureMesure, t.`temp_out` FROM archive
t INNER JOIN ( SELECT CAST(t2.`periode` AS DATE) AS dateMesure, MAX(t2.`temp_out`) AS max_temp FROM archive
t2 GROUP BY CAST(t2.`periode` AS DATE) ) r ON CAST(t.`periode` AS DATE) = r.dateMesure AND t.`temp_out` = r.max_temp
par contre le soucis c'est que dans un jours, comme la journée du 4/10/2018, j'ai 3 fois 22.4 qui s'affiche, il faudrait que se soit juste le premier 22.4 qui s'affiche
en rajoutant "DISTINCT" c'est pareil, toujours des valeurs date, heure, qui se repete
SELECT DISTINCT CAST(t.`periode` AS DATE) AS dateMesure, CAST(t.`periode` AS TIME) AS heureMesure, t.`temp_out` FROM archive t INNER JOIN ( SELECT DISTINCT CAST(t2.`periode` AS DATE) AS dateMesure, MAX(t2.`temp_out`) AS max_temp FROM archive t2 GROUP BY CAST(t2.`periode` AS DATE) ) r ON CAST(t.`periode` AS DATE) = r.dateMesure AND t.`temp_out` = r.max_temp
N'oubliez pas d'activer les erreurs PDO.