Avatar billede knagen7100 Novice
03. april 2005 - 18:38 Der er 9 kommentarer og
1 løsning

Avg af flere rækker

Jeg har fundet gennemsnittet af en række med følgende:

include "sql.php";
mysql_select_db("monitorering") or die(mysql_error());
$rs = mysql_query ("select avg (raekke1) as snit from måling");
while($rw = mysql_fetch_array($rs))
{
    echo $rw['snit'];
}

Men nu vil jeg gerne finde gennemsnittet af flere rækker men samme sætning.
Kan det lade sig gøre og hvordan ??
Avatar billede bromer Nybegynder
03. april 2005 - 18:40 #1
du mener vel af flere kolonner:

$rs = mysql_query ("select avg(raekke1) as snit1,avg(nogetandet) as snit2 from måling");
Avatar billede bromer Nybegynder
03. april 2005 - 18:42 #2
Du kan benytte aggregate functions som beskrevet i [1]. Det er ikke alt super let at holde styr på, men det er en rimelig vigtig del af SQL så jeg synes du skal læse, hvad der står på siden.

Derudover er det et rent MySQL SQL orienteret spørgsmål, så det havde været bedre placeret i MySQL kategorien :)

[1] http://dev.mysql.com/doc/mysql/en/group-by-functions.html
Avatar billede knagen7100 Novice
03. april 2005 - 18:57 #3
Jeg mangler lige lidt udlæsning. Der er fejl i linie:
while($rw = mysql_fetch_array($rs))
Avatar billede bromer Nybegynder
03. april 2005 - 19:13 #4
hvad siger mysql til det? Prøv med:

$rs = mysql_query ("select avg(raekke1) as snit1,avg(nogetandet) as snit2 from måling") OR DIE(mysql_error());

det burde printe en fejlbesked du gerne må poste her :)
Avatar billede knagen7100 Novice
03. april 2005 - 19:27 #5
Koden ser således ud:

<?

include "sql.php";
mysql_select_db("monitorering") or die(mysql_error());
$rs = mysql_query ("select avg (RxPktsLAN) as snit1, avg (RxPktsWAN) as snit2, avg (TxPktsLAN) snit3, avg (TxPktsWAN) as snit 4 from måling") OR DIE(mysql_error());;
while($rw = mysql_fetch_array($rs))
{
    echo $rw['snit1'];
    //echo $rw['snit2'];
    //echo $rw['snit3'];
    //echo $rw['snit4'];
}

?>

Fejlmeddelse: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '4 from måling' at line 1
Avatar billede bromer Nybegynder
03. april 2005 - 19:30 #6
ja du må ikke have mellemnum mellem snit og 4.. en identifier skal være uden spaces.. noget med

$rs = mysql_query ("select avg (RxPktsLAN) as snit1, avg (RxPktsWAN) as snit2, avg (TxPktsLAN) snit3, avg (TxPktsWAN) as snit4 from måling") OR DIE(mysql_error());
Avatar billede knagen7100 Novice
03. april 2005 - 19:33 #7
Den fejl har jeg også fundet. Men nu siger den: Unknown column 'RxPktsLAN' in 'field list'
Avatar billede bromer Nybegynder
03. april 2005 - 19:35 #8
hvilke felter har d i din måling tabel?
Avatar billede knagen7100 Novice
03. april 2005 - 19:40 #9
Har fundet fejlen, det spiller.

Hvis du smider et svar er der point.
Avatar billede bromer Nybegynder
03. april 2005 - 20:18 #10
jo tak
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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