Avatar billede troels_p Nybegynder
05. marts 2009 - 10:16 Der er 7 kommentarer og
1 løsning

Beregne gennemsnit af række

Hej,

Jeg sidder og laver lidt PHP der kan holde styr på mit dieselforbrug.

Jeg har en række der hedder KM/L, og deri er der en masse talværdier.

Kan jeg, når jeg har SELECT den tabel jeg vil ha' fat i, lave et gennemsnit af alle værdierne i rækken KM/L?

Altså f.eks hvis jeg har 10 - 20 - 30 som værdier vil den outputte 20 (10+20+30 = 60 / 20)?

Troels
Avatar billede ladyhawke Novice
05. marts 2009 - 10:17 #1
Avatar billede ladyhawke Novice
05. marts 2009 - 10:18 #2
Avatar billede troels_p Nybegynder
05. marts 2009 - 10:31 #3
Kanske jeg er lidt sløv, jeg er med på hvordan jeg finder gennemsnittet - vil jeg da mene:

$query = mysql_query("SELECT AVG(kml) as avg_kml FROM diesel");

Men herfra kan jeg ikke helt fange hvordan jeg får lavet det til et output? echo $avg_kml virker self. ikke, så... Hvordan får jeg lavet det output?
Avatar billede troels_p Nybegynder
05. marts 2009 - 10:33 #4
Har prøvet dette:

$query = mysql_query("SELECT AVG(kml) as avg_kml FROM diesel");
while($row = mysql_fetch_assoc($query))
{
    echo $row['kml'];
}

Får intet ud. :/
Avatar billede troels_p Nybegynder
05. marts 2009 - 10:37 #5
Nu er der styr på denne.

Kan jeg formatere outputtet så jeg kun får 2 decimaler istedet for en million? :)
Avatar billede psychopixi Nybegynder
05. marts 2009 - 10:45 #6
Du kan bruge number_format:
http://dk2.php.net/manual/en/function.number-format.php

eksempel:
<?php
$tal = 234.1234567;
number_format($tal,2,",",".");
?>
Output: 234,12
Avatar billede ladyhawke Novice
05. marts 2009 - 10:47 #7
php er jeg ikke god til, så brug bare psychopix's forslag, men databaseafdelingen er lidt bedre ;o)
Avatar billede troels_p Nybegynder
05. marts 2009 - 10:51 #8
Hej,

Jeg løste det hele med denne:

$query = "SELECT driver, AVG(kml) FROM diesel GROUP BY driver";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result))
{
    $kml = $row['AVG(kml)'];
    $kml_round = round($kml, 2);
    echo "Gennemsnittet for ". $row['driver']. " er ".$kml_round;
    echo " km/l";
    echo "<br />";
}

Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester