MySQL og dato, part II

Kalenderen vår er ikke lett å forholde seg til programatisk.
Heldigvis finnes det gode funksjoner innebygget i de fleste utviklingsspråk for å jobbe med datoer.

I prosjektet med [link] dataloggeren for strømforbruket mitt [/link] så lagrer jeg en ny rad i en MySQL tabell en gang i minuttet. Når jeg så skal hente ut grafer så vil dette bli for mange rader, som igjen vil bety for mange datapunkter i grafen. Vi trenger derfor tilføre litt logikk inn i queryen.


Mysql har flere funksjoner man kan bruke i queryen.
f.eks

Dette vil returne gjennomsnitts verdien av feltet ‘watts’ gruppert og sortert med en verdi pr dag, de siste 7 dager.
MySQL har en del dato funksjoner , i eksemplet over har jeg brukt day(feltnavn), som da vil returnere dagen ut fra et date eller datetime felt. Om feltet inneholder 2010-01-02 20:00:00 så vil da resultatet bli 02.
Her vil gjennomsnittet bli et desimaltall (float), for å kutte ut desimalene må vi legge til dette
CAST(verdi as DATATYPE)
f.eks slik CAST( avg( watts ) AS signed ) som da vil gjøre om verdien til en signed int.
Queryen blir da slik:

0 replies

Legg igjen et svar

Want to join the discussion?
Feel free to contribute!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *