query met sum avg count voor een lijst met uitslagen

Status
Niet open voor verdere reacties.

jeroenth

Gebruiker
Lid geworden
19 sep 2009
Berichten
16
Hallo allemaal.

Ik heb een website waar ik uitslagen van pokeravondjes op bijhou.
Ik heb al een pagina waar de uitslagen per avond worden getoond

Het lukt me echter niet om een ranglijst voor elkaar te krijgen.
Ik heb een tabel poker_uitslagen met als velden id, datum, plaats ,naam en punten.
Voor de ranglijst wil ik dan per naam het aantal punten(sum) het gemiddelde aantal punten(avg) en het aantal keer dat iemand heeft gespeeld(count)

Ik ben niet zo heel bekend met mysql en het lukt me niet om het per naam te laten doen.
Mijn vraag is dus hoe selecteer ik de verschillende namen uit "namen" en kan ik per naam de berekeningen doen om het vervolgens naar het scherm te laten schrijven ?

Alvast bedankt voor de tips.
Jeroen
 
Zoiets?:
[sql]select naam, count(id) as gespeeld, count(punten) as totaal_punten, avg(punten) as gem_punten from poker_uitslagen group by naam order by naam asc[/sql]
 
Dank je wel !
Ik moest 1 count aanpassen en anders laten sorteren maar dit geeft precies wat ik wou.
Code:
SELECT naam, count(id) AS gespeeld, SUM(punten) AS totaal_punten, avg(punten) AS gem_punten FROM poker_uitslagen GROUP BY naam ORDER BY gem_punten DESC

Nu alleen nog de vraag hoe ik dit op een pagina krijg.
Kan ik dit als array laten uitlezen ?
In mijn andere scipt doe ik het zo
Code:
$verbinding = mysql_connect ($host, $gebruiker, $wachtwoord);
$opdracht = "select date_format(datum, '%d-%m-%Y') AS datum_goed, plaats, naam, punten, partij FROM $tabelnaam ORDER BY datum DESC, partij, punten DESC ";
$resultaat = mysql_db_query ($dbnaam, $opdracht, $verbinding);

//maak een tabel
print ("<TABLE BORDER=1 WIDTH=\"75%\" CELLSPACING=2 CELLPADDING=2 ALIGN=CENTER>\n");
print ("<TR ALIGN=CENTER VALIGN=TOP>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>datum</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>plaats</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>naam</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>punten</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>partij</TD>\n");
print ("</TR>\n");

//Schrijf resultaat naar het scherm
while ($rij = mysql_fetch_array ($resultaat) ) {
print ("<TR ALIGN=CENTER VALIGN=TOP>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[datum_goed]</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[plaats]</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[naam]</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[punten]</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[partij]</TD>\n");
print ("</TR>\n");
}

Zo simpel als je het weet trouwens ik heb al ff lopen klooien lol
Jeroen.
 
Ja, dat is geen probleem. Dat script kun je kopiëren/plakken en vervolgens de $opdracht en $rij velden aanpassen.
 
Bedankt flitsflits :thumb:

Ik heb het script aangepast en het werkt.
Nog ff de pagina wat mooier opmaken en getallen afronden maar dat gaat lukken. :D

Ik gaat het topic sluiten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan