Ik heb deze formule in een database query gezet:
SELECT id, outsideTemp
FROM weerdata
WHERE lastUpdate > ( UNIX_TIMESTAMP( ) -3600 )
AND outsideTemp < (
(
SELECT AVG( outsideTemp )
FROM weerdata
WHERE lastUpdate > ( UNIX_TIMESTAMP( ) -3600 )
) + ( 3 * (
SELECT STDDEV( outsideTemp )
FROM weerdata
WHERE lastUpdate > ( UNIX_TIMESTAMP( ) -3600 ) ) )
)
ORDER BY outsideTemp DESC
Door nu de eerste waarde te nemen, heb ik gelijk de hoogste temperatuur.
lastUpdate > UNIX_TIMESTAMP() -3600 zorgt ervoor dat alleen datarecords worden meegenomen die het laatste uur zijn geupdate, oftewel dat de data minder dan 1 uur oud is.
De eerste 10 resultaten:
28.5
27.7
26.1
25.5
25.5
24.8
24.4
23.9
23.4
23.3
Als ik de factor verlaag naar 1, dan zie ik dat de eerste 2 records worden uitgefilterd.
Ga nu proberen Tmin. Er zit toevallig een foutieve Tmin in de database van -75
Quote selectie