COUNT vraagje

Status
Niet open voor verdere reacties.

jeroenth

Gebruiker
Lid geworden
19 sep 2009
Berichten
16
Hallo allemaal.

Ik heb een database waar punten van pokeravondjes in staan.
Ik heb een mooi overzicht hoeveel punten een ieder heeft.

Echter ik wil nog een kolom erbij die aangeeft hoeveel eerste plaatsen eeen speler heeft gehaald.
Ik ben al een paar dagen aan het rommelen maar het wil maar niet lukken :shocked:
Kolommen: id, datum, plaats, naam, punten, partij
Bedoeling is dat alle 1e plaatsen per speler worden opgeteld en worden getoond in een aparte kolom.

Het gaat er dus om deze opdracht uit te breiden maar het wil niet lukken.
$opdracht = "SELECT naam, count(id) AS gespeeld, SUM(punten) AS totaal_punten, ROUND(AVG(punten),0) AS gem_punten FROM $tabelnaam
GROUP BY naam HAVING gespeeld >= 3 ORDER BY gem_punten DESC";

Wie helpt me op weg ?
Code:
<?php
//stel de variabelen in
include ("dbconfig.php");
$plaats = 1;

print ("<BR>");
$verbinding = mysql_connect ($host, $gebruiker, $wachtwoord);
$opdracht = "SELECT naam, count(id) AS gespeeld, SUM(punten) AS totaal_punten, ROUND(AVG(punten),0) AS gem_punten FROM $tabelnaam
GROUP BY naam HAVING gespeeld >= 3 ORDER BY gem_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>Plaats</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>Naam</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>Aantal gespeeld</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>Totaal punten</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>Gem punten</TD>\n");
print ("</TR>\n");

//Schrijf resultaat naar het scherm
while ($rij = mysql_fetch_array ($resultaat) ) {
if ($gem_punten == $rij[gem_punten]) {
$gelijk_plaats ++ ;
$plaats -- ;
}
print ("<TR ALIGN=CENTER VALIGN=TOP>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$plaats</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[naam]</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[gespeeld]</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[totaal_punten]</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>$rij[gem_punten]</TD>\n");
print ("</TR>\n");
$gem_punten = $rij["gem_punten"] ;
$plaats ++;
}
print ("</TABLE>\n");

?>
 
Laatst bewerkt:
Hier even een plaatej wat de uiteindelijke bedoeling is.
DAt maakt het wat duidelijker.

voorbeeld.jpg
 
Je kunt het zo doen:

[sql]
SELECT SUM(IF(positie = 1, 1, 0 ) )
FROM tabel
[/sql]

Misschien dat er een nettere manier is, maar dit werkt iig :P
 
Dat werkt inderdaad Frats bedankt.

Zelf probeerde ik met COUNT en WHERE plaats = 1 maar dat werkte niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan