13. marts 2008 - 19:48Der er
20 kommentarer og 1 løsning
Udregne gennemsnit af data fra MySQL
Jeg er ved at lave et script til sammentælling af arbejdstimer, og kunne i den forbindelse godt tænke mig at lave en funktion hvor jeg kan udregne et gennemsnit for en given periode.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Lige et ekstra spørgsmål: kan man have flere variabler hvor der står "BETWEEN starttidspunkt AND sluttidspunkt", som fx. "BETWEEN startmåned og startår AND slutmåned og slutår"
I en database er det uligt at oprette dato eller dato+tid felter. Her har man hele datoen samlet i et felt. Dette giver nogle klare fordele i forhold til at splitte op over tre felter.
Ja, men hvordan kan jeg så udtrække data ved at sige at måned og år skal passe sammen? Det er egentlig derfor jeg har valgt at dele datoerne op i tre felter.
Jeg kan simpelthen ikke hitte greje på det. Forklar mig gerne som om jeg var 1 år.
Jeg skal bruge gennemsnittet af timerne i perioden 01-02-2008 til 31-03-2008. Jeg har datoerne for hver record i et korrekt 'date' felt. Timerne ligger i en række der hedder 'tid'. Altså 'id' 'dato' 'tid'.
Har prøvet med "SELECT AVG(tid) AS gennemsnit FROM mintabel WHERE dato BETWEEN 2008-02-01 AND 2008-03-31", men det virker ikke.
Jeg tror altså at jeg nok burde gå i seng . . . nu vrøvler jeg fuldstændig vildt og tosset.
SELECT AVG(tid) AS gennemsnit FROM mintabel WHERE MONTH(dato) BETWEEN '02' AND '03'
giver mig et gennemsnit af timerne, pr. dag - så langt så godt. Det jeg er ude efter har jeg slet ikke forklaret ordentligt. Jeg ønsker at få udregnet gennemsnittet af fx. summen af februar + summen af marts. Altså hvis februar er 10 timer og marts er 5 timer, vil gennemsnittet af disse to måneder være 7,5. Men jeg kan nok godt se at det kræver en del mere kode end AVG(tid).
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.