Problema con la data e ora

Salvo Garà

Nuovo Utente
3 Dic 2015
1
0
0
Ho una stazione meteo dove mi invia a un database la temperatura ogni minuto. Il problema è che Devo estrapolare la temperatura massima della giornata con l'ora. Usando questo

SELECT MAX(temperatura + 0) AS maxTemp, DATE(data_time) AS data_ris FROM sensore2 GROUP BY DATE(data_time) ORDER BY data_ris DESC LIMIT 1

Mi estrapola la data e il valore della temperatura. Come faccio ad avere anche l'ora? Grazie in anticipo.
 
Ciao, togli la funzione DATE() dalla select
 
ciao criric, ho fatto come mi hai detto tu ma niente
SELECT MAX(temperatura + 0) AS maxTemp, data_time FROM sensore2 GROUP BY data_time ORDER BY data_time DESC LIMIT 1

con questo
SELECT MAX(temperatura + 0) AS maxTemp, DATE(data_time) AS data_ris FROM sensore2 GROUP BY DATE(data_time) ORDER BY data_ris DESC LIMIT 1

in realtà mi dà la temperatura più alta della giornata e mi da anche la data ma non mi stampa l'ora.
il campo data_time è del tipo timestamp .
 
intendevo cosi
Codice:
SELECT MAX(temperatura + 0) AS maxTemp, data_time FROM sensore2 GROUP BY DATE(data_time) ORDER BY data_time DESC LIMIT 1
 
sei un grande. Ma adesso mi stampa anche la data o meglio

Codice:
massima giornaliera alle ore: 2015-12-04 00:00:18 2.2 C

non c'è il modo di togliere quella data e far rimanere solo l'ora.
 
mi segna sempre le 12:00 .
Stavo pensando. Si potrebbe creare un'altro campo con l'ora? diventerebbe più semplice estrapolare l'ora
 
avrai sbagliato qualcosa, deve funzionare. riposta la query aggiornata
 
Oramai l'ora te la estrapola, è solo questione di formato. Come ha detto criric riposta la query aggiornata e il date_format.
 
ciao scusa il ritardo. Ho avuto un pò da fare nel fine settimana.
ecco la query

SELECT MIN(temperatura + 0) AS maxTemp, DATE(data_time) AS data_ris,DATE_FORMAT(data_time,'%h:%i') as oraminuti FROM sensore2 GROUP BY DATE(data_time) ORDER BY data_ris DESC LIMIT 1

rettiamo tutto ........ricapitolando vorre avere la temperatura minima della giornata con l'ora corrispondente, però ho notato che la temperatura minima la stampa ma l'ora no e stampa solo la prima ora memorizzata nalla gionata.
 
ho messo manualmente una temperatura nel database di -14.30 e mi stampa quella ma l'ora mi stampa le 13:26 invece delle 13:52

ID data_time temperatura
14204 2015-12-09 13:52:23 -14.30
 
yeaaa ci sono riuscito (a culo) . Ho visto un esempio su internet .

SELECT DATE_FORMAT(data_time,'%H:%i:%s') as oraminuti, temperatura
FROM sensore2
INNER JOIN (SELECT min(temperatura + 0) as temp FROM sensore2
WHERE date(data_time) = curdate()) as data_corrente ON sensore2.temperatura = data_corrente.temp
ORDER BY data_time DESC
LIMIT 1");

magari può servire a qualcuno.
 

Discussioni simili