MySQL Max und Min Wert der letzten 24h

Kann man. Willst du den letzten oder den ersten Wert?
Für den letzten: http://sqlfiddle.com/#!9/0df222/8
SQL:
select max(t.datum) as datum, t.temp
from
  temperature t
where
  t.temp in (
    select max(ma.temp)
    from temperature ma
    where date(ma.datum) = date(now())
    and date(ma.datum) = date(t.datum)
  )
group by t.temp
;
 
Super! Der letzte macht erst mal Sinn und für jegliche weitere Anpassungen versuche ich mal wieder mein eigenes Hirn anzustrengen.

Vielen Dank!
 
Hallo nochmal,

habe das Thema mit Deiner Hilfestellung wie nachfolgend aufgesetzt:

SELECT t.*
FROM
temperature t
WHERE
t.temp IN (
SELECT MAX(ma.temp)
FROM temperature ma
WHERE date(ma.datum) = date(now())
AND date(ma.datum) = date(t.datum))
GROUP BY t.temp

bzw.

SELECT MAX (t.datum) AS datum, t.temp
FROM temperature t WHERE t.temp IN (
SELECT MAX(ma.temp)
FROM temperature ma
WHERE DATE(ma.datum) = DATE(now())
AND DATE(ma.datum) = DATE(t.datum))
GROUP BY t.temp

Es liefert auch genau das gewünschte Ergebnis, allerdings dauert die Abfrage der Datenbank mehrere Sekunden. Ist da noch ein mir nicht ersichtlicher Fehler im SQL code, oder ist die Abfrage tatsächlich so komplex, dass sie umfangreichere Server Ressourcen benötigt?
 
naja,


die sql ansich sieht ganz ok aus. Je nach Datenmenge und der darunterliegende Hardware kann das schon mehrere Sekunden dauern. Eventuell hilft es, wenn du ein Index setzt
 

Neue Beiträge

Zurück