Ciao a tutti,
premetto che sto cercando di imparare in questi giorni. Ho un DB che interfaccio via PHP per selezionare alcune informazioni meteorologiche.
Nel dettaglio devo creare una SELECT che mi permetta di estrarre da un db le informazioni per esempio della temperatura max di un giorno e l'orario rispettivo contenuto nello stesso record.
Per esempio con la query
Codice PHP:
SELECT max(`temperature`) , `time`
FROM `meteo`
WHERE `day` =08
AND `month` =01
AND `year` =2015
ottengo un dato corretto per il valore della temperatura, ma errato per l'orario:
codice:
max(`temperature`) |
time |
8.5 |
00:00:12 |
Ho modificato la query in:
Codice PHP:
SELECT `temperature` , `time`
FROM `meteo`
WHERE `day` =08
AND `month` =01
AND `year` =2015
AND `temperature` = (
SELECT MAX( `temperature` )
FROM `meteo`
WHERE `day` =08
AND `month` =01
AND `year` =2015 )
GROUP BY `temperature`
Ottenendo:
Se inserisco un GROUP BY per temperatura risolvo il problema? come faccio a tirare fuori la rispettiva data più piccola?
In realtà quello è il dato corretto, ma non sono certo che sia il metodo più giusto per avere il primo record con la temperatura più bassa, in quanto se elimino il group by vedo tutti i record con la stessa temperatura e ripetuti per ogni orario.
Grazie Andrea