Zählen von Zeilen in DB

Ich hab ne kleine Frage. Ist es möglich die Zeilen einer Tabelle zu zählen die den Wert x enthalten, Wert y enthalten? Weil COUNT ist für eine Möglichkeit, ich suche nun einen Weg mehrere Abfragen zusammen zu fassen und da hatte ich gehofft das ich das irgendwie geht.

Bsp:

name … geschlecht
hans, müller…w
anna, geyer…w
achim, hahn…m
ina, faust…w

Und nun möchte ich als Ergebnis in irgendner Form
(w=3
m=1)
haben.

Oder muss ich dafür doch 2 getrennte COUNT-Abfragen nutzen?

[code]<?php
$db=mysql_connect(“localhost”,“root”,"");
mysql_select_db(“manitu”);
$anfrage="SELECT * FROM login";
$ergebnis=mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);
echo “

Anzahl der Datensätze:”;
echo $anz;
//Tabelle aufbauen
echo “

”;
//Tabllekopf ausgben
$spaltenanzahl=mysql_mum_fields($ergebnis);
for($i=0;$i<$spaltenanzahl;$i++) {
echo “”;
}
while($zeile=mysql_fetch_row($ergebnis)){
echo “”;
for($i=0;$i<$spaltenanzahl;$i++) {
echo “”;
}
}

echo ‘

”;
echo mysql_field_name($ergebnis,$i);
echo “
”;
print($zeile[$i]);
echo “
’;
mysql_close($db);
?>[/code]
Sollte Gehen ungetestet!

So stark bewandert bin Ich in sachen Mysql zwar nicht aber Ich glaube, dass es mit left join möglich ist.
Aber da sollte man doch mit zwei Count-abfragen - meiner meinung nach - arbeiten.

mfg

[…]

nein, nicht gut :p

SELECT COUNT( * ) , geschlecht
FROM users
GROUP BY geschlecht;

geht um einiges besser, außerdem ist die Performance auch Top (sofern geschlecht einen Index hat)

Erstmal danke an alle für die schnellen Antworten.

Danke Michi, genau das hatte ich gesucht. “GROUP BY” Muss ich mir merken. Also nochmals danke.