27. oktober 2007 - 02:18Der er
11 kommentarer og 1 løsning
avg & group by & order by
et eksempel.
Jeg har en tabel: id, kroner, lande, dato
det samme land kan gå igen i flere rækker
Jeg ønsker at beregne et gennemsnit af kroner for forskellige lande med nyeste dato. Dvs. hvis et land går igen to gange, så er det kun rækken med den nyeste dato, som skal tælles med i average kroner.
Har prøvet med følgende, men det virker ikke efter hensigten:
$sql = mysql_query("SELECT AVG(kroner) as gns FROM Tabel WHERE ID>5 GROUP BY lande order by dato desc" , $db);
Jeg formulerede mig måske forkert. Jeg ønsker et gennemsnit kroner for alle rækker (lande). Hvis et land optræder flere gange, så er det dog kun den med den nyeste dato som skal tælles med i average.
Så vidt jeg kan se, så vil dit eksempel kun lave en average for een bestemt dato.
(45+43+100+100+87)/5 = 75 Som du kan se, så skal der laves en averages på alle, dog skal kun den nyeste datoer med, hvor et land går igen (et land skal kun tælles med een gang). Dato kolonnen er af typen 'date'.
Med dit eksemepel kan ikke få det rigtige resultat.
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.