MYSQL gemiddelde
Hallo allemaal,
Ik heb een mysql database waar iedere seconde een temperatuur wordt ingeschoten.
Nu wil ik graag een query maken waar het gemiddelde van ieder uur uit komt.
Dit is de query die ik nu gebruik
$result=mysql_query("SELECT * FROM `templog` ORDER BY `timeStamp` DESC",$link);
kan iemand mij op weg helpen?
Ik heb een mysql database waar iedere seconde een temperatuur wordt ingeschoten.
Nu wil ik graag een query maken waar het gemiddelde van ieder uur uit komt.
Dit is de query die ik nu gebruik
$result=mysql_query("SELECT * FROM `templog` ORDER BY `timeStamp` DESC",$link);
kan iemand mij op weg helpen?
Gewijzigd op 21/05/2018 12:03:06 door Marco Mattheijer
Hoe ziet je tabel er uit?
PS: Waarom gebruik je nog de verouderde MySQL-functies? Tegenwoordig wordt MySQLi of PDO aangeraden.
PS: Waarom gebruik je nog de verouderde MySQL-functies? Tegenwoordig wordt MySQLi of PDO aangeraden.
Gewijzigd op 21/05/2018 12:05:22 door - Ariën -
- Ariën - op 21/05/2018 12:05:13:
Hoe ziet je tabel er uit?
PS: Waarom gebruik je nog de verouderde MySQL-functies? Tegenwoordig wordt MySQLi of PDO aangeraden.
PS: Waarom gebruik je nog de verouderde MySQL-functies? Tegenwoordig wordt MySQLi of PDO aangeraden.
Dat zal ik proberen uit te leggen,
Ik ben 2,5 jaar geleden met het projectje begonnen.
2 jaar geleden heb ik een herseninfarct gekregen en ben ik lang it de roulatie geweest. veel info ben ik kwijt en moet dus veel opnieuw leren. nu heb ik mijn projectje weer opgepakt en probeer ik weer verder te komen. nu blijkt dus dat ik eigenlijk opnieuw moet beginnen ?
is niet erg maar soms heb ik wat hulp nodig.
Dit is waar ik mijn tabel nu heb staan.
http://www.worstenzo.com/index.php
Toevoeging op 21/05/2018 12:13:47:
Adoptive Solution op 21/05/2018 12:07:27:
Ik heb je link gezien, en denk dat ik dan avg moet gebruiken, maar hoe vertel ik hem dan dat hij het gemiddelde van iedere uur moet pakken ?
Gewijzigd op 21/05/2018 12:12:35 door Marco Mattheijer
Maar hoe ziet je databasetabel er uit?
- Ariën - op 21/05/2018 12:14:48:
Maar hoe ziet je databasetabel er uit?
ik heb een timestamp, een temp en een luchtvochtigheid.
neem aan dat je dat bedoeld ?
Zo ongeveer:
select AVG(temperatuur) from templog where datum = vandaag group by uur
Wel zelf de syntax nog even op orde brengen qua namen en tijdfunctie
AVG -> Gemiddelde
select AVG(temperatuur) from templog where datum = vandaag group by uur
Wel zelf de syntax nog even op orde brengen qua namen en tijdfunctie
AVG -> Gemiddelde
Gewijzigd op 21/05/2018 12:24:02 door Aad B
Alternatief: omdat het informatie over tijd betreft, en deze na afloop nooit meer verandert, zou je er ook voor kunnen kiezen om deze eenmalig te berekenen / uit te draaien, en dan in een statisch document of aggregaat-tabel op te slaan. Je hoeft deze dan nooit meer opnieuw te berekenen.
Houdt wel in dat als je een nieuw soort rapportage wilt, dat je deze opnieuw (eenmalig) zult moeten berekenen.
Houdt wel in dat als je een nieuw soort rapportage wilt, dat je deze opnieuw (eenmalig) zult moeten berekenen.
Aad B op 21/05/2018 12:21:48:
Zo ongeveer:
select AVG(temperatuur) from templog where datum = vandaag group by uur
Wel zelf de syntax nog even op orde brengen qua namen en tijdfunctie
AVG -> Gemiddelde
select AVG(temperatuur) from templog where datum = vandaag group by uur
Wel zelf de syntax nog even op orde brengen qua namen en tijdfunctie
AVG -> Gemiddelde
ik ga hier even mee stoeien
Toevoeging op 21/05/2018 15:37:28:
- Ariën - op 21/05/2018 12:14:48:
Maar hoe ziet je databasetabel er uit?
# Naam Type Collatie Attributen Leeg Standaardwaarde Extra Actie
1 id int(11) Nee Geen AUTO_INCREMENT Veranderen Verwijderen Meer
2 timeStamp timestamp on update CURRENT_TIMESTAMP Nee CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP Veranderen Verwijderen Meer
3 temperature float Ja NULL Veranderen Verwijderen Meer
4 humidity float Nee Geen Veranderen Verwijderen Meer
5 Luchtdruk float Nee Geen Veranderen Verwijderen Meer
6 temperature2 float Nee Geen Veranderen Verwijderen
Toevoeging op 21/05/2018 21:51:10:
Aad B op 21/05/2018 12:21:48:
Zo ongeveer:
select AVG(temperatuur) from templog where datum = vandaag group by uur
Wel zelf de syntax nog even op orde brengen qua namen en tijdfunctie
AVG -> Gemiddelde
select AVG(temperatuur) from templog where datum = vandaag group by uur
Wel zelf de syntax nog even op orde brengen qua namen en tijdfunctie
AVG -> Gemiddelde
Ik hoop dat jullie een beetje geduld op kunnen brengen met mij?
Maar ik krijg de syntax niet goed. ik denk dat "datum = vandaag group bij uur" niet klopt ?
Gewijzigd op 21/05/2018 15:36:18 door Marco Mattheijer
Hoe ziet je query er nu uit?
- Ariën - op 21/05/2018 22:04:16:
Hoe ziet je query er nu uit?
nu gebruik ik dit.
SELECT * FROM `templog` ORDER BY `timeStamp` DESC
Het is niet "bij uur", maar "by uur". "by" met een Griekse Y dus (het is in het Engels).
Rob Doemaarwat op 21/05/2018 22:17:30:
Het is niet "bij uur", maar "by uur". "by" met een Griekse Y dus (het is in het Engels).
helemaal gelijk, maar hij acceteert het laatste stukje niet ?
by uur is ook niet goed, dat was maar ter illustratie en je moet de tijdfunctie wel uitwerken:
Iets van GROUP BY STR_TO_DATE(`timestamp`,'%Y/%m/%Yd %h')
Iets van GROUP BY STR_TO_DATE(`timestamp`,'%Y/%m/%Yd %h')
Gewijzigd op 22/05/2018 22:50:32 door Aad B




