Plocka ur min och max värdet ur en databas?

Generella mjukvarufrågor som inte är beroende av vilket operativsystem som körs skall ställas i denna kategori

Moderator: elf98

Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Plocka ur min och max värdet ur en databas?

Inlägg av bjornsson » 02 jan 2012, 11:36

Undrar hur man skriver för att plocka ur min respektive max värdet ur en databas under de senaste 24 timmarna.

Anväder den här php sidan för smartphones och anväder dessa två rader för att få ut aktuell temperatur och medelvärdet.
http://www.beyondmeasure.se/forum/index ... 672.0.html

Kod: Markera allt

$devices[1]["Ute"][0] = "SelECT ROUND(temperature,1) FROM `ute` ORDER BY `timestamp` DESC LIMIT 1";

$devices[1]["Ute"][1] = "SelECT CONCAT(ROUND(AVG(temperature),1),'°C') as result FROM ute WHERE timestamp BETWEEN DATE_SUB( NOW(), INTERVAL 24 HOUR ) AND NOW();";
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Plocka ur min och max värdet ur en databas?

Inlägg av daromer » 02 jan 2012, 12:03

select max(temp_c) from temps where dt > date_sub(now(), interval 24 hour);

select min(temp_c) from temps where dt > date_sub(now(), interval 24 hour);


detta är 2 sätt att göra det. Jag har runt 40k rader per dygn så det tar tyvär en del tid att köra i min databas.
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Plocka ur min och max värdet ur en databas?

Inlägg av bjornsson » 02 jan 2012, 12:08

Ska testas då jag kommer hem igen :)
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Re: Plocka ur min och max värdet ur en databas?

Inlägg av bjornsson » 03 jan 2012, 22:34

Efter lite testande så fick jag denna att funka iaf =)

Kod: Markera allt

	$devices[2]["Min Temp Senaste 24H"][0] = "SelECT CONCAT(ROUND(min(temperature),1),'') as result FROM ute WHERE timestamp BETWEEN DATE_SUB( NOW(), INTERVAL 24 HOUR ) AND NOW();";
Skriv svar