PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Count aufteilen ;)



Demonking
02.06.2006, 19:46
Moin^^
Also geht um folgendes will ne Count splitten wie ich das meine erfahrt ihr gleich :o

Also das ist meine tabelle :) :



CREATE TABLE `test` (
`id` TINYINT( 2 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 20 ) NOT NULL ,
`klasse` VARCHAR( 10 ) NOT NULL ,
`gruppe` TINYINT( 2 ) NOT NULL
) TYPE = MYISAM ;

ich will die anzahl der verschiedenen Klassen ausrechnen die in der spalte "klasse" ist ^^
die klassen könnt ihr als Berufe zählen Ritter,Priester etc ;) jetzt wollte ich mit dem befehl alle zählen ^^


SELECT klasse, COUNT( * ) AS anzahl
FROM test
GROUP BY klasse

Der zählt auch alle und gibt sie auch aus aber immer geordnet, die werden immer nur zusammen ausgegeben und ich brauche die Werte getrennt weil die an verschiedenen orten der Site vorkommen sollen :/
Falls irgendwie sogar jemand mit google kommt nach 1h konnte ich net mehr ;)
Hoffe einer kann helfen :o

drunken monkey
02.06.2006, 20:03
Ich habe mir deinen Post jetzt drei Mal durchgelesen und noch immer nur wenig Ahnung, was du genau willst. Was schade ist, weil ich eigentlich recht zuversichtlich bin, dass ich's wissen könnte. Vielleicht liegt's auch an mir und jemand anderer kapiert's komplett, trotzdem:

1) Willst du zählen, wieviele unterschiedliche Klassen es gibt oder wieviele Leute es von jeder einzelnen Klasse gibt? Dein Post klingt nach Ersterem, der Code sieht aber nach Letzterem aus! o_O'
2) Wo ist das Problem? Wenn du - wie es der Code impliziert - zu jeder Klasse die Vorkommnisse in der Tabelle willst bekommst du sie doch, und kannst sie auch sicher getrennt ausgeben.
Ich nehme mal an, du machst das Ganze in PHP (in anderen Sprachen geht's aber sicher auch), dann müsste es so gehen:


$result = mysql_query ("SELECT klasse, COUNT( * ) AS anzahl FROM test GROUP BY klasse;" , $db) or die ("....Blöd! o_O'");

while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
if ($row['klasse'] == "Krieger") { // oder eben die auszugebende Klasse statt "Krieger"
echo $row['anzahl'];
break;
}
}

Demonking
02.06.2006, 20:12
omfg >.< die idee hatte ich ganz am anfang bevor ich das mit Count machte ...
Danke dir drunken >.< nächstes mal teste ich lieber wirklcih alles durch ..